ORACLE機能 データディクショナリ

[データディクショナリ] トリガーの情報を取得する

投稿日:

トリガーの情報を参照するには、
TRIGGERSデータディクショナリビューを参照します。

TRIGGERSデータディクショナリの種類

TRIGGERSデータディクショナリビューには以下3種類があります。

【TRIGGERSデータディクショナリビューの種類】
DBA_TRIGGERS全てのトリガー情報を対象とする ※権限が必要
ALL_TRIGGERSログインユーザが参照可能なトリガーを対象とする
USER_TRIGGERSログインユーザが保持するトリガーを対象とする

TRIGGERSデータディクショナリの定義

TRIGGERSデータディクショナリの定義です。

(DBA/ALL/USERの違いは、OWNER列のありなしのみです。)

【TRIGGERSデータディクショナリ】
列名メモ
OWNERVARCHAR2(30)トリガーの所有者
※DBA_TRIGGERS、ALL_TRIGGERSのみ
TRIGGER_NAMEVARCHAR2(30)トリガー名
TRIGGER_TYPEVARCHAR2(16)トリガーが起動するタイミング
TRIGGERING_EVENTVARCHAR2(227)トリガーが起動するイベント
TABLE_OWNERVARCHAR2(30)トリガーが定義されている表の所有者
BASE_OBJECT_TYPEVARCHAR2(16)トリガーが定義されているオブジェクト
TABLE/VIEW/SCHEMA/DATABASE
TABLE_NAMEVARCHAR2(30)トリガーが定義されている表名、ビュー名
※テーブルまたはビュー以外の場合はNULL。
COLUMN_NAMEVARCHAR2(4000)ネストした表の列名
REFERENCING_NAMESVARCHAR2(128)
WHEN_CLAUSEVARCHAR2(4000)
STATUSVARCHAR2(8)トリガーの使用可否(ENABLED/DISABLED)
DESCRIPTIONVARCHAR2(4000)トリガーの説明文
ACTION_TYPEVARCHAR2(11)トリガーの実行形式(CALL、PL/SQL)
TRIGGER_BODYLONGトリガー起動時に実行される文
CROSSEDITIONVARCHAR2(7)CROSSEDITIONトリガータイプ
(FORWARD、REVERSE、NO)
BEFORE_STATEMENTVARCHAR2(3)トリガーにBEFORE STATEMENTセクションがあるかどうか(YES/NO)
BEFORE_ROWVARCHAR2(3)トリガーにBEFORE EACH ROWセクションがあるかどうか(YES/NO)
AFTER_ROWVARCHAR2(3)トリガーにAFTER EACH ROWセクションがあるかどうか(YES/NO)
AFTER_STATEMENTVARCHAR2(3)トリガーにAFTER STATEMENTセクションがあるかどうか(YES/NO)
INSTEAD_OF_ROWVARCHAR2(3)トリガーにINSTEAD OFセクションがあるかどうか(YES/NO)
FIRE_ONCEVARCHAR2(3)
APPLY_SERVER_ONLYVARCHAR2(3)

サンプル

例)'TARO'が所有しているトリガーの一覧を取得する

メモ

  • TRIGGER_NAMEを検索条件とする場合、必ず大文字で指定してください。
  • DBA_TRIGGERSを検索する場合は、すべてのトリガーを参照する権限が必要です。

スポンサーリンク

スポンサーリンク

-ORACLE機能, データディクショナリ
-

執筆者:



comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スポンサーリンク