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

ORA-04091:表が変更されています。Oracleトリガーの実行中にトリガー/関数でエラーが発生しない場合があります。

    トリガーはテーブルを読み取ることができず(KPI_DEFINITIONからKPI_FREQ_TIME_UNITを選択)、変更されます...次の方法で値にアクセスできます::new.KPI_FREQ_TIME_UNIT。詳細: http://www.dba-oracle.com/t_avoiding_mutating_table_error.htm

    その他の場合は、自律トランザクション<でそれを試すことができます。 / a> :

    create or replace TRIGGER RATOR_MONITORING_CONFIGURATION."TRG_TRK_KPI_DEFINITION" 
    AFTER UPDATE ON RATOR_MONITORING_CONFIGURATION.KPI_DEFINITION FOR EACH ROW
    DECLARE
       PRAGMA AUTONOMOUS_TRANSACTION;
    BEGIN
      -- ...
      COMMIT; -- don't forget it!!!
    END;
    


    1. Oracleで先行ゼロを使用して数値をフォーマットする2つの方法

    2. MySQLで行の値を1ずつ増減します

    3. パフォーマンスの驚きと仮定:DATEDIFF

    4. Acquire_lock()が機能していません。ボットはまだリクエストをすばやく送信しています。 PHP + AJAX