Normalerweise verwenden Sie die Begriffe in einem Trigger mit :old
um auf den alten Wert zu verweisen und :new
um auf den neuen Wert zu verweisen.
Hier ist ein Beispiel aus der oben verlinkten Oracle-Dokumentation
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;
In diesem Beispiel löst der Trigger BEFORE DELETE OR INSERT OR UPDATE
aus :old.sal
enthält das Gehalt vor dem Auslösen des Triggers und :new.sal
enthält den neuen Wert.