Teradata Unityのトリガー サポート - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
ft:locale
ja-JP
ft:lastEdition
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage

Teradata Unityは、トリガーを実行するリクエストの一部としてリクエスト固有のコンテキスト情報を送信し、非確定的な結果に対してTeradata Unityで事前定義されている値を置換して、Teradata Databaseが実行されたトリガーの結果を間接的に変更できるようにします。Teradata Databaseは、セッションのデフォルト接続から実行されたときに、このコンテキスト情報をトリガーで使用できるようにします。

例えば、以下のテーブルおよびトリガー定義を考えてみましょう。Teradata Unityは、トリガー定義で指定されたトリガー済みINSERT…SELECTリクエストの選択リストで指定されているRANDOM関数を上書きします。

     CREATE TABLE t1 (
       a INTEGER,
       b INTEGER)
     PRIMARY INDEX (a);

     CREATE TABLE t2 (
       a INTEGER,
       b INTEGER)
     PRIMARY INDEX (a);

     CREATE TABLE t3 (
       a INTEGER,
       b INTEGER)
     PRIMARY INDEX(a);

     CREATE TRIGGER trigt1
       AFTER INSERT ON t1 (
         INSERT t2
           SELECT a, RANDOM(200, 300)+1
           FROM t1;);

     CREATE TRIGGER trigt2
       AFTER INSERT ON t2 (
         INSERT t3
           SELECT a, RANDOM(200, 300)+1
           FROM t2;);