トリガーの作成時と使用時に適用される制限 - 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
トリガーの作成時と使用時に適用される制限は、以下のとおりです。
  • トリガーを定義できるのは、永続的な基本テーブルに対してだけです。
    次のデータベース オブジェクトに対しては、トリガーを定義できません。
    • エラー テーブル
    • グローバル一時トレース テーブルなどのグローバル一時テーブル
    • ビュー
    • 揮発テーブル
  • BEFORE文トリガーは無効です。
  • BEFOREトリガーには、トリガーされるアクション(トリガーされるSQL文)としてデータ変更文を指定できません。
  • 同じテーブルにトリガーとハッシュ インデックスを定義することはできません。
  • UDTに順序付けが定義されている場合に限って、WHEN句にUDT比較を指定できます。
  • WHEN条件でNEW_TABLE、OLD_TABLE、またはOLD_NEW_TABLE遷移テーブルを参照する場合は、以下の方法で参照を作成するSYSUDTLIB
    • 副クエリーから作成する。
    • 参照される遷移テーブルの相関名を使用して作成する。

      この目的で通常使用される副クエリーは、スカラー値を返す集約です。

  • 集約を、WHEN句に指定された検索条件の左側に使用することはできません。

    集約を、検索条件の右側に使用することはできます

  • 位置決めされた(更新可能カーソル)更新および削除操作は、トリガーを起動できません。そのようにすると、エラーになります。

    更新または削除操作のカーソルを位置付ける前に、対象テーブルに定義されているすべてのトリガーを使用不能にする必要があります。

  • INSERT … SELECT AND CONSUME文は、以下のどちらとしても使用できません。
    • トリガーされるアクション文
    • トリガーする文
  • 再帰的ビュー、WITH句、またはトリガーの定義内のWITH RECURSIVE句を参照できません。