Zwykle używasz terminów w wyzwalaczu za pomocą :old
odwoływać się do starej wartości i :new
aby odwołać się do nowej wartości.
Oto przykład z dokumentacji Oracle, do której link znajduje się powyżej
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;
W tym przykładzie wyzwalacz uruchamia BEFORE DELETE OR INSERT OR UPDATE
:old.sal
będzie zawierać pensję przed uruchomieniem wyzwalacza i :new.sal
będzie zawierać nową wartość.