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

PLSQL:NEWおよび:OLD

    通常、:oldを使用してトリガーで用語を使用します 古い値と:newを参照するには 新しい値を参照します。

    上記にリンクされているOracleドキュメントの例を次に示します

    CREATE OR REPLACE TRIGGER Print_salary_changes
      BEFORE DELETE OR INSERT OR UPDATE ON Emp_tab
      FOR EACH ROW
    WHEN (new.Empno > 0)
    DECLARE
        sal_diff number;
    BEGIN
        sal_diff  := :new.sal  - :old.sal;
        dbms_output.put('Old salary: ' || :old.sal);
        dbms_output.put('  New salary: ' || :new.sal);
        dbms_output.put_line('  Difference ' || sal_diff);
    END;
    

    この例では、トリガーはBEFORE DELETE OR INSERT OR UPDATEを起動します :old.sal トリガーが発生する前の給与と:new.salが含まれます 新しい値が含まれます。



    1. エラー1033は、スタンバイへのログオンを受信しました

    2. T-SQL日時データ型

    3. PostgreSQLとMySQL

    4. InnoSetupを使用してMSSQLServerに接続するにはどうすればよいですか?