Упаковать вещи в двоичный тип данных SQL Server - PullRequest
0 голосов
/ 20 августа 2009

Что я могу сделать с двоичным типом данных в SQL Server, чтобы облегчить мне жизнь?

Я недавно узнал об этой отличной функции

DECLARE @p0 varbinary(128)
SET @p0 = --?
SET CONTEXT_INFO @p0

Как я могу разумно эффективным образом хранить данные, которые имеют какой-то смысл в этом двоичном слоте? О, а затем получить доступ к этим данным каким-то разумным способом?

SELECT ? = context_info
FROM sys.dm_exec_sessions
WHERE session_id = @@SPID

Обновление: как указано gbn

SELECT ? = CONTEXT_INFO()

Более полезным подходом является использование CONTEXT_INFO () для возврата идентификатора строки некоторой контекстной таблицы. Скажи:

SELECT * 
FROM ContextTable 
WHERE RowID = CONTEXT_INFO()

Это позволило бы мне запросить контекстную информацию.

1 Ответ

1 голос
/ 20 августа 2009

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

Я бы также использовал CONTEXT_INFO () для считывания данных обратно (для SQL Server 2005 и выше)

Один вопрос: он запускает NULL, но вы не можете присвоить ему NULL после использования. Вы должны использовать 0x00.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...