sql - SESSION_CONTEXT 返回 NULL
问题描述
我创建了以下存储过程:
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 时:
select SESSION_CONTEXT(N'Fruit')
结果是Mango
,我有点困惑 ast 键值在整个会话中是持久的。我们可以多次执行存储过程,每次执行都返回相同的值。但我得到一个 NULL 结果。
解决方案
不幸的是,SESSION_CONTEXT 键是区分大小写的。应该
DECLARE @Fruit varchar(20) = CONVERT(varchar(20), SESSION_CONTEXT(N'Fruit'))
推荐阅读
- python - 正则表达式模式删除任何东西 \text {whatever here}
- r - 在 bash 循环中读取 R 中的文件
- r - 用时间格式转换日期 [R]
- airflow - Airflow 中的任务之间的延迟或任何其他选项?
- swift - SpriteKit:场景中有许多带有physicsBody的资产
- ruby-on-rails - Axlsx 右边框不显示
- python - 无法打开 os.listdir 返回的文件
- ios - 当presentingViewController是UITabbarController时,Dismiss和popViewController不工作
- javascript - 设置状态时防止useEffect中的无限循环
- java - 创建新对象与在基元中编码数据