ALTER TRIGGERステートメントを実行して、トリガー名、依存関係、トリガースイッチなどのトリガー定義を変更できます。
構文
table_name
テーブルのトリガー名を変更します。ALTER TRIGGER name ON table_name新しい_name
table_name
テーブルのname
トリガーが依存するプラグインをextension_name
に変更します。ALTER TRIGGER name ON table_name DEPENDS ON EXTENSION extension_name
スキーマ
内で一意のname
トリガーのステータスを変更します。ALTER TRIGGER [schema.] 名ENABLE | DISABLE;
説明- トリガー名は、同じスキーマ内で一意である必要があります。
- 組み込みトリガーのステータスは変更できません。
パラメーター
パラメーター | 説明 |
schema | トリガーが依存するテーブルが存在する名前空間。 デフォルト値 : public |
name | トリガーが依存するテーブルの名前。 |
new_name | トリガーの新しい名前。 |
extenion_name | トリガーが依存するプラグインの名前。 |
ENABLE/DIABLE | トリガーが有効かどうかを指定します。 有効な値:
|
例
- トリガーの名前を変更します。
ALTER TRIGGER emp_stamp ON emp RENAME TO emp_track_chgs;
- トリガーが依存するプラグインを変更します。
ALTER TRIGGER emp_stamp ON emplib;
- トリガーを有効または無効にします。
testdb=> pg_triggerからtgrelid、tgname、tgenabledを選択します。 tgrelid | tgname | tgenabled -------- ----------- ------------------- 16386 | emp_audit | O (1行) testdb=> emp値 (1、'Alice') に挿入します。エラー: INSERTはempでは違法です。 コンテキスト: RAISEのPL/pgSQL関数process_emp_audit() 12行目 testdb=> ALTER TRIGGER emp_audit DISABLE; ALTER TRIGGER testdb=> emp値 (1、'Alice') に挿入します。挿入0 1 testdb=> ALTER TRIGGER emp_audit ENABLE; ALTER TRIGGER testdb=> emp値 (2、'Bob') に挿入します。エラー: INSERTはempでは違法です。 コンテキスト: PL/pgSQL関数process_emp_audit() 行12でRAISE