Инструменты пользователя

Инструменты сайта


Боковая панель

Введение

Статьи и часто задаваемые вопросы

Установка и настройка

Обработка ошибок

Полезные запросы SQL

Тематические группы

new_old



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; !!!

См. также

Источник

Только авторизованные участники могут оставлять комментарии.
new_old.txt · Последние изменения: 2008/05/19 10:14 (внешнее изменение)