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

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


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

Введение

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

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

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

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

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

inserting_updating_deleting



INSERTING, UPDATING, DELETING

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

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
- - Да Да Да Да Да Да Да Да Да

Доступно в

Формат

INSERTING
UPDATING
DELETING

Описание

Псевдологические переменные INERTING, UPDATING, DELETING доступны только внутри текста триггеров и служат для определения текущего контекста действия триггера. Эти переменные могут быть полезны для триггеров, вызываемых одновременно при вставке, изменении или удалении данных.

Пример

Следующий пример показывает, как вести учет версии записи при помощи триггера перед вставкой или изменением записи. В момент вставки записи начальное значение домена VERSION_NUMBER таблицы VERSIONEDTABLE инициализируется нулем. Затем, при последующих изменениях записи, новое значение домена получается инкрементом старого.

SET TERM !!!;
 
CREATE TRIGGER SET_VERSION_NUMBER_BIU_0 FOR VERSIONEDTABLE
ACTIVE BEFORE INSERT OR UPDATE POSITION 0
AS
BEGIN
  IF (INSERTING) THEN
    NEW.VERSION_NUMBER = 0;
  ELSE
    IF (UPDATING) THEN
      NEW.VERSION_NUMBER = OLD.VERSION_NUMBER + 1;
END
!!!
 
SET TERM; !!!

См. также

Источник

Firebird 1.5 Release Notes

Только авторизованные участники могут оставлять комментарии.
inserting_updating_deleting.txt · Последние изменения: 2009/01/09 14:16 (внешнее изменение)