データベース・トリガーの有効化、無効化、名前の変更またはコンパイルを行う。
なお、ALTER TRIGGER 文でデータベース・トリガーの処理を変更することはできない。データベース・トリガーの処理を変更するには、CREATE OR REPLACE TRIGGER 文を使用する。
ALTER TRIGGER [schema.]trigger { ENABLE | DISABLE }
ALTER TRIGGER [schema.]trigger RENAME TO new_name
ALTER TRIGGER [schema.]trigger COMPILE [ DEBUG ] [ REUSE SETTINGS ]
SQL> ALTER TRIGGER trigger01 ENABLE;
SQL> ALTER TRIGGER trigger01 DISABLE;
SQL> ALTER TRIGGER trigger01 RENAME TO trigger02;
SQL> ALTER TRIGGER trigger01 COMPILE;
SQL> ALTER TRIGGER trigger01 COMPILE DEBUG;
SQL> ALTER TRIGGER trigger01 COMPILE REUSE SETTINGS;
自分のスキーマ内のトリガーを有効化、無効化、名前の変更またはコンパイルをする場合、権限は必要ない。
任意のスキーマ内のトリガーを有効化、無効化、名前の変更またはコンパイルをする場合、ALTER ANY TRIGGER システム権限が必要である。
また、DATABASEに対するトリガーを変更するには、データベース・イベントに対する ADMINISTER システム権限が必要である。
MySQL は ALTERTRIGGER 機能を提供していない。 既存のトリガーを編集するには、最初にトリガーを削除してから、再生成する必要がある。
PostgreSQL でも ALTER TRIGGER 文でトリガ定義を変更することができる。
ALTER TRIGGER name ON table_name RENAME TO new_name
ALTER TRIGGER name ON table_name [ NO ] DEPENDS ON EXTENSION extension_name
CREATE TRIGGER 文で作成された、既存の DMLトリガー、DDLトリガー、またはログオン・トリガーの定義を変更する。
ALTER TRIGGER schema_name.trigger_name
ON ( table | view )
[ WITH dml_trigger_option [ ,...n ] ]
( FOR | AFTER | INSTEAD OF )
{ [ DELETE ] [ , ] [ INSERT ] [ , ] [ UPDATE ] }
[ NOT FOR REPLICATION ]
AS { sql_statement [ ; ] [ ...n ] | EXTERNAL NAME method_specifier
[ ; ] }
The PostgreSQL Global Development Group 2022. ALTER TRIGGER. PostgreSQL 15.0 Document
Microsoft 2023. ALTER TRIGGER (Transact-SQL)