17.10 - CREATE TRIGGERおよびREPLACE TRIGGER - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-171K-JPN
Language
日本語 (日本)

新しいトリガー定義を作成するか、トリガー定義を置換します。

REPLACE TRIGGERによって、ユーザーは、トリガーを削除および再作成することなく、トリガーの定義を変更します。

CREATE TRIGGERおよびREPLACE TRIGGERのテンポラル表形式について詳しくは、<Teradata Vantage™ - テンポラル テーブル サポート、B035-1182>を参照してください。

ANSI準拠

この文はANSI SQL:2011に準拠していますが、非ANSI Teradata拡張機能を含みます。

必要な権限

トリガーを作成するためには、以下の権限が必要です。
  • 以下の両方に対するCREATE TRIGGER権限。
    • トリガーが作成されるデータベース。
    • 対象テーブルまたはそれを含むデータベースのどちらか。
  • WHEN句内またはトリガーされるSQL文のsubquery内で参照される任意の列に対するSELECT。
  • トリガーされるSQL文によって異なるが、トリガーされるSQL文のターゲット テーブルに対するINSERT、UPDATE、またはDELETE。
  • トリガーされる個々のSQL文を実行するために通常必要な権限。

トリガーの作成または置換では、トリガー関連の権限がトリガーの作成者と直接所有者のどちらにも付与されません。

トリガーを置換するためには、以下の権限が必要です。
  • 対象テーブルまたはデータベースに対するDROP TRIGGER

    例外は、REPLACE TRIGGERを使用する場合にターゲット テーブルが存在しないため、代わりに新しいトリガーを作成するときです。

    その場合、以下の両方に対するCREATE TRIGGER権限が必要です。

    • トリガーが作成されるデータベース。
    • 対象テーブルまたはそれを含むデータベースのどちらか。
  • WHEN句内またはトリガーされるSQL文のsubquery内で参照される任意の列に対するSELECT。
  • トリガーされるSQL文によって異なるが、トリガーされるSQL文のターゲット テーブルに対するINSERT、UPDATE、またはDELETE。
  • トリガーされる個々のSQL文を実行するために通常必要な権限。
以下の権限要件は、直接の所有者以外でトリガー文を実行するすべてのユーザーに適用されます。
  • そのトリガー文を実行するための権限が必要です。トリガーの直接の所有者は、トリガーを作成するための権限も持つ必要があります。
  • ユーザーがトリガー文に対する必要な権限を持っていても、トリガーの直接の所有者がトリガー アクション文の実行に必要な権限を失っている場合、どのユーザーもトリガー文を実行できません。

自動的に与えられる権限

なし