トリガーのカスケードと再帰処理 - 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

カスケードそのものはトリガーの要素ではありませんが、行トリガーは文がトリガーを起動するときにカスケードを作成できます。つまり、そのトリガーが別のトリガーを起動して、その連鎖が次々と続いていきます。このように、1つのトリガー イベントの出力そのものを、別のトリガーにするという手法です。

次のようなルールが、トリガーのカスケードと再帰処理に適用されます。

  • BEFOREトリガーにはデータ変更文がないので、カスケードすることはできません。
  • トリガーの再帰処理は、自己参照トリガーを含めて、有効です。つまり、トリガーのカスケード内で、トリガー文に対する後方参照を行なうことができます。
  • 遷移テーブルを参照するカスケード行トリガーは、無効です。
  • 無限再帰的ループを防止するため、システムはカスケード トリガーまたは再帰的トリガーの数を16までに制限しています。この制限は実行時に適用されます。トリガーのカスケードがこの制限を超過している場合、システムはそのリクエストをロールバックします。