NEW, OLD

Версии сервера

0.91.01.5.31.5.41.5.52.02.0.32.0.42.12.53.0
--ДаДаДаДаДаДаДаДаДа

Доступно в

PSQL

Формат

NEW.< имя столбца >
OLD.< имя столбца >

Описание

Контекстные псевдообъектные переменные NEW и OLD доступны только внутри текста триггеров и служат для обращения соответственно к новым и к старым значениям столбцов записи через точечную нотацию.

Пример

Следующий пример показывает, как при помощи контекстной переменной NEW организовывается автоинкрементное значение первичного ключа ID таблицы MYTABLE.

SET TERM !!!;

CREATE TRIGGER MYTABLE_BI_000 FOR MYTABLE
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF (NEW.ID IS NULL) THEN
    NEW.ID = GEN_ID(GENR_MYTABLE_ID, 1);
END
!!!

SET TERM; !!!

Следующий пример заставляет при изменении значения столбца FLAG выполнять процедуру MY_PROC

SET TERM !!!;

CREATE TRIGGER MYTABLE_BU_010 FOR MYTABLE
ACTIVE BEFORE UPDATE POSITION 10
AS
BEGIN
  IF (NEW.FLAG <> OLD.FLAG) THEN
    EXECUTE PROCEDURE MYPROC(NEW.FLAG);
END
!!!

SET TERM; !!!

См. также

GEN_ID(), INSERTING, UPDATING, DELETING, SET TERM, CREATE TRIGGER, ALTER TRIGGER

Источник

Обсуждение