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