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

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Release Date
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-170K-JPN
Language
日本語 (日本)

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;);