CREATE TRIGGER 構文(5.0以降)

メモ:  Category:mysql

トリガーとは、表に対して指定した条件を充たしたときに実行されるプログラムです。

CREATE TRIGGER構文

CREATE [DEFINER = { user | CURRENT_USER }] TRIGGER トリガー名
    {BEFORE | AFTER}
    {INSERT | UPDATE | DELETE}
ON テーブル名 FOR EACH ROW 
処理

トリガーは、表に対する動作( INSERT,UPDATE,DELETE )と表に対して更新する前と後といった 条件で処理が実行されます。

例えば、 UPDATE 時の更新する前に実行したい場合、次のように作成します。

CREATE TRIGGER TRG_DATA_BF
    BEFORE UPDATE
ON CAT FOR EACH ROW 
    INSERT INTO HISTORY (REMARKS) VALUES (OLD.REMARKS);
END

トリガーでは、テーブル上の各項目の更新前の値とこれから更新する値を参照することが 出来ます。更新前の値を参照するには、項目名の前に OLD. を付け、更新する値を参照するには項目名の前に NEW. を付けます。

OLD.項目名
NEW.項目名

bluenote by BBB