トリガーの情報を参照するには、
TRIGGERSデータディクショナリビューを参照します。
TRIGGERSデータディクショナリの種類
TRIGGERSデータディクショナリビューには以下3種類があります。
DBA_TRIGGERS | 全てのトリガー情報を対象とする ※権限が必要 |
---|---|
ALL_TRIGGERS | ログインユーザが参照可能なトリガーを対象とする |
USER_TRIGGERS | ログインユーザが保持するトリガーを対象とする |
TRIGGERSデータディクショナリの定義
TRIGGERSデータディクショナリの定義です。
(DBA/ALL/USERの違いは、OWNER列のありなしのみです。)
列名 | 型 | メモ |
---|---|---|
OWNER | VARCHAR2(30) | トリガーの所有者 ※DBA_TRIGGERS、ALL_TRIGGERSのみ |
TRIGGER_NAME | VARCHAR2(30) | トリガー名 |
TRIGGER_TYPE | VARCHAR2(16) | トリガーが起動するタイミング |
TRIGGERING_EVENT | VARCHAR2(227) | トリガーが起動するイベント |
TABLE_OWNER | VARCHAR2(30) | トリガーが定義されている表の所有者 |
BASE_OBJECT_TYPE | VARCHAR2(16) | トリガーが定義されているオブジェクト TABLE/VIEW/SCHEMA/DATABASE |
TABLE_NAME | VARCHAR2(30) | トリガーが定義されている表名、ビュー名 ※テーブルまたはビュー以外の場合はNULL。 |
COLUMN_NAME | VARCHAR2(4000) | ネストした表の列名 |
REFERENCING_NAMES | VARCHAR2(128) | |
WHEN_CLAUSE | VARCHAR2(4000) | |
STATUS | VARCHAR2(8) | トリガーの使用可否(ENABLED/DISABLED) |
DESCRIPTION | VARCHAR2(4000) | トリガーの説明文 |
ACTION_TYPE | VARCHAR2(11) | トリガーの実行形式(CALL、PL/SQL) |
TRIGGER_BODY | LONG | トリガー起動時に実行される文 |
CROSSEDITION | VARCHAR2(7) | CROSSEDITIONトリガータイプ (FORWARD、REVERSE、NO) |
BEFORE_STATEMENT | VARCHAR2(3) | トリガーにBEFORE STATEMENTセクションがあるかどうか(YES/NO) |
BEFORE_ROW | VARCHAR2(3) | トリガーにBEFORE EACH ROWセクションがあるかどうか(YES/NO) |
AFTER_ROW | VARCHAR2(3) | トリガーにAFTER EACH ROWセクションがあるかどうか(YES/NO) |
AFTER_STATEMENT | VARCHAR2(3) | トリガーにAFTER STATEMENTセクションがあるかどうか(YES/NO) |
INSTEAD_OF_ROW | VARCHAR2(3) | トリガーにINSTEAD OFセクションがあるかどうか(YES/NO) |
FIRE_ONCE | VARCHAR2(3) | |
APPLY_SERVER_ONLY | VARCHAR2(3) |
サンプル
例)'TARO'が所有しているトリガーの一覧を取得する
1 |
select * from all_triggers where owner = 'TARO'; |
メモ
- TRIGGER_NAMEを検索条件とする場合、必ず大文字で指定してください。
- DBA_TRIGGERSを検索する場合は、すべてのトリガーを参照する権限が必要です。