例: SET句の使用 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/ncd1596241368722.ditamap
dita:ditavalPath
ja-JP/ncd1596241368722.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

この例では、BEFORE行トリガーでトリガーされるアクション文としてSET句を使用します。

以下に、対象テーブルの定義を示します。USING … INSERTリクエストを使用するソース ファイルからテーブルのamount列に値がロードされるとします。

     CREATE TABLE subject_table (
       entry_date DATE, 
       amount     INTEGER); 

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

     CREATE TRIGGER set_trig
       BEFORE INSERT ON subject_table 
       REFERENCING NEW AS curr_value 
       FOR EACH ROW 
       SET curr_value.entry_date = DATE;
       -- Adds the current system date to the entry_date column

SET句が割り当てられているので、次のトリガー文

     USING (amount INTEGER) 
     INSERT INTO subject_table VALUES (NULL,:amount); 

は、次の文と同様に実行されます。

     USING (thisdate DATE, amount INTEGER)
     INSERT INTO subject_table VALUES (:thisdate, :amount);