次の例は、WHEN句でNEW VARIANT_TYPEコンストラクタ式を指定するAFTER INSERT行トリガーを作成します。
最初にトリガーを作成します。
CREATE TRIGGER Dyn_TestTrigger02 AFTER INSERT ON Source_DynTriggerTest2 REFERENCING NEW AS NewRow FOR EACH ROW WHEN (scalar001dynRtnint_1p(NEW VARIANT_TYPE(NewRow.a AS a, NewRow.b AS b))<8) INSERT INTO Target_DynTriggerTest2 VALUES(1,NewRow.a,NewRow.b);
Target_DynTriggerTest2には行がないと仮定します。ここで、Source_DynTriggerTest2に行を挿入します。これは、スカラーUDFscalar001dynRtnint_1pの評価が指定されたWHEN句の条件を満たすときに、新しく作成したトリガーDyn_TestTrigger02を呼び出してTarget_DynTriggerTest2に行を挿入します。
INSERT INTO Source_DynTriggerTest2 VALUES (3,3,3);
Target_DynTriggerTest2:から、すべての列を選択します。
SELECT * FROM Target_DynTriggerTest2; *** Query completed. One row found. 3 columns returned. *** Total elapsed time was 1 second. Integer1 NewColA NewColB ----------- ----------- ----------- 1 3 3
予想どおり、トリガーDynTestTrigger02を定義すると、Target_DynTriggerTest2に新しく挿入された行には、その3つの列に対して1、3、3の値がそれぞれ含まれます。