====== 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]] ===== Источник =====