Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » SQL の使用 » SQL 言語の要素 » 探索条件

 

トリガ・オペレーション条件

構文
trigger-operation:
INSERTING 
| DELETING
| UPDATING [ ( column-name-string ) ] 
| UPDATE ( column-name )
備考

トリガ・オペレーション条件は、トリガのみで使用でき、トリガを起動させたアクションの種類に応じてそれぞれ異なったアクションを実行するために使用します。

UPDATING の引数は、引用符付きの文字列です (たとえば、UPDATING( 'mycolumn' ))。UPDATE の引数は、識別子です (たとえば、UPDATE( mycolumn ))。この 2 つのバージョンは相互運用可能で、他のベンダが提供する DBMS の SQL ダイアレクトとの互換性のために用意されています。

UPDATING または UPDATE 関数を指定する場合は、CREATE TRIGGER 文で REFERENCING 句を指定して、構文エラーを回避してください。

次のトリガは、トリガを起動させたアクションを示すメッセージを表示します。

CREATE TRIGGER tr BEFORE INSERT, UPDATE, DELETE
ON sample_table
REFERENCING OLD AS t1old
FOR EACH ROW
BEGIN
    DECLARE msg varchar(255);
    SET msg = 'This trigger was fired by an ';
    IF INSERTING THEN
        SET msg = msg || 'insert'
    ELSEIF DELETING THEN
        set msg = msg || 'delete'
    ELSEIF UPDATING THEN
        set msg = msg || 'update'
    END IF;
    MESSAGE msg TO CLIENT
END;
参照