проблема в создании триггера - PullRequest
0 голосов
/ 05 мая 2010

Я столкнулся с проблемой при создании триггера, и я не уверен, почему это происходит с ошибкой. Можете ли вы помочь мне.

Я написал триггер, упомянутый ниже, и он дает мне эту ошибку при попыткевыполнить триггер ...

1064 - у вас ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса, который можно использовать рядом с 'DECLARE store_itemid INTEGER;store_hostid INTEGER;store_desc VARCHAR (255); 'в строке 4

код:

mysql> delimiter //
   CREATE TRIGGER init_trigger 
   AFTER INSERT ON test_trigger
   FOR EACH ROW
   DECLARE 
     store_itemid INT;
     store_hostid INT;
     store_desc VARCHAR(255);
     store_key VARCHAR(255);
     store_lastvalue VARCHAR(255);
     store_lastclock VARCHAR(255);
     store_preval INT;
     store_status INT;
   BEGIN

     SELECT itemid into store_itemid,
            hostid into store_hostid,
            description into store_desc,
            key_ into store_key,
            lastvalue into store_lastvalue,
            lastclock into store_lastclock,
            prevvalue into store_preval,
            status into store_status 
       FROM test_triggers 
      WHERE lastvalue > 80;

     IF store_lastvalue > 80 THEN
        INSERT INTO test_triggers1 
          (itemid,hostid,description,key,lastvalue,lastclock,prevvalue,status) 
        VALUES
          (store_itemid,store_hostid,store_desc,store_key,store_lastvalue,store_lastclock,store_preval,store_status);

     END IF;
   END;
   // 

1 Ответ

0 голосов
/ 27 мая 2010

U должен добавить «НАЧАЛО» после «ROW»

...