プライマリ・コンテンツに移動
Oracle® Database SQL言語リファレンス
11gリリース2 (11.2)
B56299-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

CREATE TRIGGER

用途

トリガーはPL/SQLを使用して定義されます。このため、この項では一般的な情報について説明します。構文およびセマンティクスの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。

CREATE TRIGGER文を使用すると、データベース・トリガーを作成できます。データベース・トリガーとは、次のとおりです。

  • 表、スキーマまたはデータベースに対応したストアドPL/SQLブロック

  • 無名PL/SQLブロック、あるいはPL/SQLまたはJAVAで実装されているプロシージャへのコール

指定された条件が発生した場合、トリガーは自動的に実行されます。


関連項目:

「ALTER TRIGGER」および「DROP TRIGGER」を参照してください。

前提条件

自分のスキーマ内の表または自分のスキーマ(SCHEMA)に対するトリガーを自分のスキーマ内に作成する場合は、CREATE TRIGGERシステム権限が必要です。

任意のスキーマ内の表または別のユーザーのスキーマ(schema.SCHEMA)に対するトリガーを任意のスキーマ内に作成する場合は、CREATE ANY TRIGGERシステム権限が必要です。

前述の権限に加えて、DATABASEに対するトリガーを作成する場合は、ADMINISTER DATABASE TRIGGERシステム権限が必要です。

トリガーがSQL文を発行、またはプロシージャやファンクションをコールする場合、そのトリガーの所有者には、これらの操作を行うための権限が必要です。これらの権限はロールを介して付与するのでなく、所有者に直接付与する必要があります。

構文

トリガーはPL/SQLを使用して定義されます。このため、このマニュアルの構文図ではSQLキーワードのみを示します。PL/SQLの構文、セマンティクスおよび例については、『Oracle Database PL/SQL言語リファレンス』を参照してください。

create_trigger::=

create_trigger.gifの説明が続きます。
図「create_trigger.gif」の説明

(plsql_sourceについては、『Oracle Database PL/SQL言語リファレンス』を参照してください。)

セマンティクス

OR REPLACE

OR REPLACEを指定すると、既存のトリガーを再作成できます。この句を指定すると、既存のトリガーの定義を削除しなくても変更できます。

plsql_source

plsql_sourceのセマンティクスについては、『Oracle Database PL/SQL言語リファレンス』を参照してください。