Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ

Доступ к идентификатору транзакции

Доступ к идентификатору транзакции

Начиная с Firebird 1.5 идентификатор (TID) текущей транзакции (который получается из хранимых данных состояния транзакции) доступен в виде контекстной переменной. Он доступен в DSQL, isql, триггерах и хранимых процедурах. Это переменная CURRENT_TRANSACTION.

Например, для получения идентификатора в запросе вы можете выполнить следующее:

SELECT CURRENT_TRANSACTION AS TRAN_ID FROM RDВ$DATABASE;

Для сохранения его в таблице нужно выполнить:

INSERT INTO TASK_LOG (USER_NAME, TRAN_ID, START_TIMESTAMP)

VALUES (CURRENT_USER, CURRENT_TRANSACTION, CURRENT_TIMESTAMP) ;

! ! !

ВНИМАНИЕ! Идентификаторы транзакции не являются достаточно стабильными, чтобы их использовать в качестве ключей. Серия номеров для идентификаторов транзакций будет устанавливаться в 1 каждый раз при восстановлении базы данных.

. ! .

Firebird 1.0.x не предоставляет механизма отслеживания транзакций.

Оглавление книги

Оглавление статьи/книги

Генерация: 1.084. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз