FirebirdSQL logo

OLD

Доступно в

PSQL

Синтаксис
OLD

Контекстная переменная OLD доступна только коде триггеров.Значения, содержащееся в OLD, хранит прошлые значения полей, которые были в базе до операции изменения или удаления.

Переменная OLD доступна только для чтения.

Note

Для табличных триггеров, срабатывающих на несколько типов событий, значения для переменной OLD всегда возможны.Однако для триггеров, сработавших на вставку записи, значение данной переменной не имеет смысла, поэтому в этой ситуации чтение OLD возвратит NULL, а попытка записи в неё вызовет исключение в коде.

Example 1. Использование переменной OLD
...
  IF (NEW.QUANTITY IS DISTINCT FROM OLD.QUANTITY) THEN
    DELTA = NEW.QUANTITY - OLD.QUANTITY;
...
См. также:

[fblangref-contextvars-new].

RESETTING

Доступно в

PSQL

Синтаксис
RESETTING
Тип возвращаемого результата

BOOLEAN

Контекстная переменная RESETTING доступна только коде триггеров на события ON CONNECT и ON DISCONNECT, и может использоваться в любом месте, где можно использовать логический предикат.Системная переменная RESETTING, позволяет обнаружить случай, когда триггер базы данных срабатывает из-за сброса сеанса, например с помощью оператора ALTER SESSION RESET.Её значение TRUE, если выполняется сброс сеанса, и FALSE в противном случае.

Example 1. Использование переменной RESETTING
...
IF (RESETTING) THEN
BEGIN
  -- выполняется сброс сеанса
END
...
См. также:

ALTER SESSION RESET.