0

トリガーの作成で問題が発生しました。エラーが発生する理由がわかりません。助けてください。

以下のトリガーを作成しましたが、トリガーを実行しようとするとこのエラーが発生します...

1064 - SQL 構文にエラーがあります。'DECLARE store_itemid INTEGER; の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。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;
   // 
4

1 に答える 1

0

「ROW」の後に「BEGIN」を追加する必要があります

于 2010-05-27T13:38:00.683 に答える