====== 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 ^
| - | - | Да | Да | Да | Да | Да | Да | Да | Да | Да |
===== Доступно в =====
[[raznovidnosti_jazyka_sql|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]]
===== Источник =====