すべてのプロダクト
Search
ドキュメントセンター

PolarDB:ALTER TRIGGER

最終更新日:Jun 04, 2024

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トリガーが有効かどうかを指定します。 有効な値:
  • ENABLE: 有効です。
  • DISABLE: 無効です。

  • トリガーの名前を変更します。
    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