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

別のユーザーのイベントをリッスンするユーザーからOracleでトリガーを作成します

    はい、できます。ユーザーはCREATE ANY TRIGGERを持っている必要があります :

    DBAとして:

    CREATE USER a IDENTIFIED BY a;
    GRANT CREATE SESSION, CREATE ANY TRIGGER TO a;
    
    CREATE USER b IDENTIFIED BY b;
    GRANT CREATE SESSION TO b;
    

    として:

    CREATE OR REPLACE TRIGGER a.create_trigger
      BEFORE CREATE ON b.SCHEMA
    BEGIN
      raise_application_error(num => -20000,  msg=> 'create_trigger vetoes');
    END;
    /
    

    bとして:

    CREATE TABLE t(i INT);
    ERROR at line 1:
    ORA-00604: error occurred at recursive SQL level 1
    ORA-20000: create_trigger vetoes
    ORA-06512: at line 2
    

    このトリガーは微調整する必要があります。CREATE TABLEだけでなく起動します。 ただし、すべてのCREATE ステートメント...




    1. Oracle SQLクエリで最初に数値でソートする方法は?

    2. postgresqllibpqxx1つのトランザクションとしての複数のクエリ

    3. Laravelモデルが保存されたか、クエリが実行されたかを確認します

    4. TransactionScopeオブジェクトは、MySqlConnector for .NETを使用して完全にサポートされていますか?