sql >> データベース >  >> RDS >> Oracle

OracleDatabaseのすべてのトリガーを一覧表示します

    Oracle Databaseには、データベース内のトリガーに関する情報を含むいくつかのビューが含まれています。これらのビューを使用して、トリガーのリストを返すことができます。

    user_triggers 表示

    user_triggers ビューには、現在のユーザーが所有するトリガーが表示されます。

    クエリの例:

    SELECT
        trigger_name,
        trigger_type,
        triggering_event,
        table_owner, 
        table_name, 
        base_object_type, 
        status, 
        trigger_body    
    FROM 
        user_triggers
    ORDER BY
        trigger_name ASC,
        base_object_type ASC,
        table_name ASC;

    前述のように、これは現在のユーザーが所有するトリガーのみを返します。

    それ以上を返すには、次のいずれかのビューを使用します。

    all_triggers 表示

    all_triggers ビューは、現在のユーザーがアクセスできるテーブルのトリガーについて説明しています。

    ユーザーがCREATE ANY TRIGGERを持っている場合 特権の場合、このビューはデータベース内のすべてのトリガーを記述します。

    SELECT
        owner,
        trigger_name,
        trigger_type,
        triggering_event,
        table_owner, 
        table_name, 
        base_object_type, 
        status, 
        trigger_body    
    FROM 
        all_triggers
    ORDER BY
        owner ASC,
        trigger_name ASC,
        base_object_type ASC,
        table_name ASC;

    このビューには、ownerが含まれます 所有者が誰であるかを示す列なので、このクエリにそれを含め、その列で結果を並べ替えました。

    dba_triggers 表示

    dba_triggers ビューには、データベース内のすべてのトリガーが一覧表示されます:

    SELECT
        owner,
        trigger_name,
        trigger_type,
        triggering_event,
        table_owner, 
        table_name, 
        base_object_type, 
        status, 
        trigger_body    
    FROM 
        dba_triggers
    ORDER BY
        owner ASC,
        trigger_name ASC,
        base_object_type ASC,
        table_name ASC;

    このビューの列は、all_triggersの列と同じです。 ビュー。


    1. SQL-varcharデータ型を日時データ型に変換した結果、値が範囲外になりました

    2. 最後に挿入されたIDENTITYを取得します

    3. 一定時間後にMySQLレコードを削除する方法

    4. SQLServer2008-数値を含む文字列による順序