用途
トリガーはPL/SQLを使用して定義されます。このため、この項では一般的な情報について説明します。構文およびセマンティクスの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。
CREATE
TRIGGER
文を使用すると、データベース・トリガーを作成できます。データベース・トリガーとは、次のとおりです。
表、スキーマまたはデータベースに対応したストアドPL/SQLブロック
無名PL/SQLブロック、あるいはPL/SQLまたはJAVAで実装されているプロシージャへのコール
指定された条件が発生した場合、トリガーは自動的に実行されます。
前提条件
自分のスキーマ内の表または自分のスキーマ(SCHEMA
)に対するトリガーを自分のスキーマ内に作成する場合は、CREATE
TRIGGER
システム権限が必要です。
任意のスキーマ内の表または別のユーザーのスキーマ(schema
.SCHEMA
)に対するトリガーを任意のスキーマ内に作成する場合は、CREATE
ANY
TRIGGER
システム権限が必要です。
前述の権限に加えて、DATABASE
に対するトリガーを作成する場合は、ADMINISTER
DATABASE
TRIGGER
システム権限が必要です。
トリガーがSQL文を発行、またはプロシージャやファンクションをコールする場合、そのトリガーの所有者には、これらの操作を行うための権限が必要です。これらの権限はロールを介して付与するのでなく、所有者に直接付与する必要があります。
構文
トリガーはPL/SQLを使用して定義されます。このため、このマニュアルの構文図ではSQLキーワードのみを示します。PL/SQLの構文、セマンティクスおよび例については、『Oracle Database PL/SQL言語リファレンス』を参照してください。
create_trigger::=
(plsql_source
については、『Oracle Database PL/SQL言語リファレンス』を参照してください。)