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

Oracle PL / SQL:トリガー列を動的にループオーバー

    いいえ、:old値と:new値を動的に参照することはできません。 Shaneが示唆しているように、静的トリガーコードを生成するコードを記述して、作業が楽になる場合は可能です。また、「ここで何かを行う」をパッケージプロシージャにして、トリガーが次のようになるようにすることもできます。

    CREATE OR REPLACE TRIGGER JOSH.TEST#UPD BEFORE 
    UPDATE ON JOSH.TEST_TRIGGER_TABLE
    begin    
       my_package.do_something_with (:old.col1, :new.col1);
       my_package.do_something_with (:old.col2, :new.col2);
       my_package.do_something_with (:old.col3, :new.col3);
       -- etc.
    end;
    

    (ちなみに、無意味なREFERENCING句を捨てることができます。)



    1. 日付を長持ちさせるために休止状態にする

    2. C#MySQLコネクタ

    3. RobotFramework:cx_Oracle-FAIL:InternalError:Oracleエラーはありませんか?

    4. MySQL WHERE `character` ='a'はa、A、Ãなどと一致します。なぜですか?