Oracle
 sql >> база данни >  >> RDS >> Oracle

PLSQL :НОВО и :СТАРО

Обикновено използвате термините в тригер, използвайки :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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да създадете външен ключ с ON UPDATE CASCADE на Oracle?

  2. Какво да направите, ако получите неправилна порядкова грешка при отметка, когато използвате SQL Server с нашия Oracle ODBC драйвер

  3. Софтуерни компании, които работят върху Oracle D2k, PLSQL Technologies в Нойда

  4. oracle systimestamp (sysdate) в милисекунди

  5. списък на данните в използваем формат?