FirebirdSQL logo

LOCALTIMESTAMP

Доступно в

DSQL, PSQL, ESQL

Синтаксис
LOCALTIMESTAMP [(<precision>)]

<precision> ::= 0 | 1 | 2 | 3
Table 1. Параметры контекстной переменной LOCALTIMESTAMP
Параметр Описание

precision

Точность.Значение по умолчанию 3.Не поддерживается в ESQL.

Тип возвращаемого результата

TIMESTAMP WITHOUT TIME ZONE

Переменная LOCALTIMESTAMP возвращает текущую дату и время в часовом поясе сессии, без информации о часовом поясе.Точность определяет, сколько учитывать знаков после запятой в долях секунды.Точность по умолчанию равна 3.

Note

В блоке кода PSQL (процедура, триггер, исполняемый блок) значение LOCALTIMESTAMP не меняется по мере выполнения.При вызове вложенного кода, значение также не изменится и будет равно значению в коде самого верхнего уровня.Для определения реального времени используйте CAST('NOW' AS TIMESTAMP WITHOUT TIME ZONE).

Example 1. Использование переменной LOCALTIMESTAMP
SELECT LOCALTIMESTAMP(2) FROM RDB$DATABASE;
-- результат будет (например) 02.03.2014 23:35:33.1200

NEW

Доступно в

PSQL

Синтаксис
NEW

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

В AFTER триггерах переменная доступна только для чтения.

Note

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

Important

Попытка записи в переменную NEW в AFTER триггере вызовет исключение в коде.

Example 1. Использование переменной NEW
...
  IF (NEW.SERIAL_NUM IS NULL) THEN
    NEW.SERIAL_NUM = GEN_ID (GEN_SERIALS, 1);
...
См. также:

[fblangref-contextvars-old].