Did you remember to switch your SQL delimiter ?
   
  MySQL default delimter for SQL is the semicolon ( ; )
  MySQL's stored procedure language also uses the semicolon to delimter 
statements.
   
  These two rules cannot peacefully coexist.
  You can get around this in three steps:
   
  1) Change you default SQL limiter to $$
  2) Create the Stored Procedure using END $$ instead of END;
  3) Change you default SQL limiter back to ;
   
  Like This:
   
  DELIMITER $$
create trigger updatepricech
after insert on tbl_prices for each row
BEGIN
DECLARE closep INTEGER;
select close into closep from temptable where Ticker = new.Ticker;
update tbl_prices set PriceCh = (Close - closep) where Ticker = new.Ticker
and Trade_date = new.Trade_date;
END $$
  DELIMITER ;
   
  Hey, give it a try !!!
  
anniyan <[EMAIL PROTECTED]> wrote:
  
Hi all,

When I am trying to create a trigger I get an error message which I am
unable to comprehend.

create trigger updatepricech
after insert on tbl_prices for each row
BEGIN
DECLARE closep INTEGER;


select close into closep from temptable where Ticker = new.Ticker;
update tbl_prices set PriceCh = (Close - closep) where Ticker = new.Ticker
and Trade_date = new.Trade_date;
end;


I get the error :

#1064 - You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near ''
at line 4 

Here line 4 is the declaration part.

Can you please let me know what could be wrong in this query?
-- 
View this message in context: 
http://www.nabble.com/Problem-creating-a-Trigger-tf4392021.html#a12522149
Sent from the MySQL - General mailing list archive at Nabble.com.


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]



       
---------------------------------
Building a website is a piece of cake. 
Yahoo! Small Business gives you all the tools to get online.

Reply via email to