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

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


rdb_set_context

Различия

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

Ссылка на это сравнение

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
rdb_set_context [2009/05/19 18:33]
german
rdb_set_context [2013/03/23 10:58] (текущий)
Строка 1: Строка 1:
 +====== RDB$SET_CONTEXT ======
  
 +===== Версии сервера =====
 +^ 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 ^
 +|  -  |  -  |  -  |  -  |  -  |  Да  |  Да  |  Да  |  Да  |  Да  |  Да  |
 +
 +===== Формат =====
 +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
rdb_set_context.txt · Последние изменения: 2013/03/23 10:58 (внешнее изменение)