我创建了以下存储过程:
CREATE PROCEDURE [CheckSecurityContext] AS
BEGIN
DECLARE @Fruit varchar(20) = CONVERT(varchar(20), SESSION_CONTEXT(N'FRUIT'))
SELECT CheckSecurityContext = @Fruit
END
并有如下赋值和键:
EXEC sp_set_session_context N'Fruit', N'Mango'
然后执行存储过程:
EXEC CheckSecurityContext
当前结果是 NULL
而不是 Mango
,但当我进行如下简单选择时:
select SESSION_CONTEXT(N'Fruit')
结果是 Mango
,我有点困惑,因为键值在整个会话中都是持久的。我们可以多次执行存储过程,每次执行时它都返回相同的值。但是我得到了一个空的结果。
1条答案
按热度按时间axzmvihb1#
不幸的是,会话上下文键是区分大小写的。应该是