ALTER TRIGGER
目的
トリガーはPL/SQLを使用して定義されます。このため、この項では一般的な情報について説明します。構文およびセマンティクスの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。
ALTER
TRIGGER
文を使用すると、データベース・トリガーを使用可能化、使用禁止化またはコンパイルできます。
ノート:
この文では、既存のトリガーの宣言または定義は変更されません。トリガーを再宣言または再定義する場合は、OR
REPLACE
キーワードを指定したCREATE
TRIGGER
文を使用します。
関連項目:
-
トリガーの作成については、「CREATE TRIGGER」を参照してください。
-
トリガーの削除については、「DROP TRIGGER」を参照してください。
-
トリガーの概要は、『Oracle Database概要』を参照してください。
前提条件
トリガーが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、ALTER
ANY
TRIGGER
システム権限が必要です。
DATABASE
上のトリガーを変更する場合は、ADMINISTER
DATABASE
TRIGGER
権限が必要です。
関連項目:
DATABASE
トリガーに基づいたトリガーの詳細は、「CREATE TRIGGER」を参照してください。
構文
alter_trigger::=
(trigger_compile_clause
: この句の構文の詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。)
セマンティクス
IF EXISTS
IF EXISTS
は、既存の表を変更する場合に指定します。
ALTER VIEW
にIF NOT EXISTS
を指定すると、ORA-11544: Incorrect IF EXISTS clause for ALTER/DROP statement
が発生します。
schema
トリガーが含まれているスキーマを指定します。schema
を指定しない場合、トリガーは自分のスキーマ内にあるとみなされます。
trigger_name
変更するトリガーの名前を指定します。
trigger_compile_clause
この句の構文とセマンティクスの詳細およびトリガーの作成とコンパイルの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。
ENABLE | DISABLE
ENABLE
を指定すると、トリガーを使用可能にできます。また、ALTER
TABLE
のENABLE
ALL
TRIGGERS
句を使用することによって、表に対応付けられたすべてのトリガーを使用可能にできます。「ALTER TABLE」を参照してください。
DISABLE
を指定すると、トリガーを使用禁止にできます。また、ALTER
TABLE
のDISABLE
ALL
TRIGGERS
句を使用することによって、表に対応付けられたすべてのトリガーを使用禁止にできます。
RENAME句
RENAME
TO
new_name
を指定すると、トリガーの名前を変更できます。トリガーの名前は変更され、名前が変更される前と同じ状態になります。
トリガーの名前を変更すると、USER_SOURCE
、ALL_SOURCE
およびDBA_SOURCE
データ・ディクショナリ・ビューに記憶されているトリガーのソースが再構築されます。その結果、トリガー・ソースが変更されていなくても、これらのビューのTEXT
列のコメントおよび書式設定が変更される場合があります。
EDITIONABLE | NONEDITIONABLE
この句を使用すると、schema
のスキーマ・オブジェクト・タイプTRIGGER
のエディショニングが後で有効化されたときに、そのトリガーをエディション・オブジェクトにするか非エディション・オブジェクトにするかを指定できます。デフォルトは、EDITIONABLE
です。エディション・オブジェクトと非エディション・オブジェクトの変更の詳細は、『Oracle Database開発ガイド』を参照してください。
NONEDITIONABLEの制限事項
crosseditionトリガーに対してNONEDITIONABLE
を指定できません。