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

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
ft:locale
ja-JP
ft:lastEdition
2021-09-23
dita:mapPath
ja-JP/spp1591731285373.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.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);