我有一个对表执行INSERT / DELETE操作的过程和一个在第二个表中记录更改的触发器。
我需要的是将实例化过程调用的安全用户标识传递给触发器,以便记录用户进行了更改。
似乎唯一的方法是使用SET CONTEXT_INFO和CONTEXT_INFO()。
问题是,我无法提取号码(用户ID)。例如,下面的代码:
SET CONTEXT_INFO 10001
GO
SELECT CAST(CONTEXT_INFO() AS INT)
返回0.
答案 0 :(得分:1)
上下文信息为binary/varbinary
,因此您可以首先尝试转换为binary
,然后尝试转换为int
:
SELECT CAST(CAST(CONTEXT_INFO() AS BINARY(4)) as INT)