NEW, OLD
Версии сервера
| 0.9 | 1.0 | 1.5.3 | 1.5.4 | 1.5.5 | 2.0 | 2.0.3 | 2.0.4 | 2.1 | 2.5 | 3.0 |
|---|---|---|---|---|---|---|---|---|---|---|
| - | - | Да | Да | Да | Да | Да | Да | Да | Да | Да |
Доступно в
Формат
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
Обсуждение