SQL会话/连接变量

lis*_*rts 4 sql t-sql sql-server

我试图在SQL中找到一些与会话变量等效的东西.我希望能够存储和检索一个数字,但每个与数据库的连接都有不同的数字.它需要在同一个连接上从一个批处理到下一个批处理.

我确实有一个使用像这样的全局游标的解决方案.

IF (SELECT CURSOR_STATUS('global','ChangeSet')) >= 0 
BEGIN --Close and deallocate the cursor
    Close ChangeSet
    DEALLOCATE ChangeSet
END

--Create a new cursor
DECLARE ChangeSet CURSOR GLOBAL STATIC FOR
SELECT ChangeSet = @ChangeSet

--Open the cursor
OPEN ChangeSet
Run Code Online (Sandbox Code Playgroud)

每个连接都有一个不同的游标,因此它可以工作,但这在视图中是不可用的.我想如果有人能告诉我如何在一个看起来很酷的视图中阅读这篇文章.

我正在使用MS SQL Server btw.

Ed *_*per 6

CONTEXT_INFO属性可能是您正在寻找的 - 它使您能够设置和读取特定于连接的二进制值.

您可以将数值编码为二进制并将其存储在此属性中.