例: カスケードされたトリガー - Teradata Database - Teradata Vantage NewSQL Engine - 例: カスケードされたトリガー、CREATE REPLACE TRIGGER構文の文。

Teradata Vantage™ SQLデータ定義言語 構文規則および例

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/wkf1512081455740.ditamap
dita:ditavalPath
ja-JP/wkf1512081455740.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

以下の例は、1つのトリガー アクション文が別のトリガーを起動する方法を示します。

以下に、テーブルの定義を示します。

     CREATE TABLE tab1 (
       a INTEGER, 
       b INTEGER, 
       c INTEGER);
     CREATE TABLE tab2 (
       d INTEGER, 
       e INTEGER, 
       f INTEGER);
     CREATE TABLE tab3 (
       g INTEGER, 
       h INTEGER, 
       i INTEGER);

以下に、トリガーの定義を示します。

     CREATE TRIGGER trig1
       AFTER INSERT ON tab1
       REFERENCING NEW AS NewRow
     FOR EACH ROW (
       INSERT INTO tab2
       VALUES (NewRow.a + 10, NewRow.b + 10, NewRow.c););
     CREATE TRIGGER trig2
       AFTER INSERT ON tab2
       REFERENCING NEW AS NewRow
     FOR EACH ROW (
       INSERT INTO tab3
       VALUES (NewRow.d + 100, NewRow.e + 100, NewRow.f););

ここで、以下のINSERTリクエストが実行依頼されたと仮定します。

     INSERT INTO tab1 
     VALUES (1,2,3);

このトリガー イベントは、tab2への挿入を実行するトリガーを起動します。この操作は、以下のINSERTリクエストと等価です。

     INSERT INTO tab2 
     VALUES (11,12,3);

このトリガー イベントは、tab3への挿入を実行するトリガーを起動します。この操作は、以下のINSERTリクエストと等価です。

     INSERT INTO tab3 
     VALUES (111,112,3);