RDB$SET_CONTEXT

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

0.91.01.5.31.5.41.5.52.02.0.32.0.42.12.53.0
-----ДаДаДаДаДаДа

Формат

RDB$SET_CONTEXT( “пространство имён”, переменная, значение)

Описание

Встроенная функция Позволяет задавать пользовательские переменые внутри транзакции или подключения значение которых можно получить при помощи RDB$GET_CONTEXT

⚠️ “Пространства имен” и переменые являются регистро зависимые

⚠️ Для предотвращения DoS атак, существует ограничение на 1000 переменых в одном “пространстве имен”

RDB$SET_CONTEXT устанавливает значение заданой переменой. Функция возвращает 1 если переменая существовала и 0 если нет.

⚠️ Чтобы удалить переменую из контекста необходимо присвоить ей NULL.

в настоящий момент есть всего 2 “пространства имен” которые можно использовать для установки переменых :

USER_SESSION для пользовательских переменых видимых в течении подключения.

USER_TRANSACTION для пользовательских переменых видимых в течении транзакции.

Пример

select rdb$set_context(‘USER_SESSION’,‘MY’,‘это моя крутая переменая’) from rdb$database select rdb$get_context(‘USER_SESSION’,‘MY’) from rdb$database select rdb$set_context(‘USER_SESSION’,‘MY’,NULL) from rdb$database

См. также

RDB$GET_CONTEXT

Источник

%Firebird%\doc\sql.extensions\README.context_variables2.txt

Обсуждение