SESSION_CONTEXT (Transact-SQL)
適用於:SQL Server 2016 (13.x) 和更新版本 Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Microsoft Fabric 中的 SQL 分析端點 Microsoft Fabric 中的倉儲
傳回目前工作階段內容中指定索引鍵的值。 此值是使用 sp_set_session_context (Transact-SQL) 程序建立。
語法
SESSION_CONTEXT(N'key')
引數
'key'
要擷取之值的索引鍵 (類型為 sysname)。
傳回類型
sql_variant
傳回值
為與工作階段內容中指定索引鍵建立關聯的值,或為 NULL (當該索引鍵沒有設定值時)。
權限
任何使用者都可以讀取其工作階段的工作階段內容。
備註
SESSION_CONTEXT 的 MARS 行為與 CONTEXT_INFO 相似。 若 MARS 批次設定索引鍵值組,則新的值將不會在相同連線中的另外一個 MARS 批次中傳回,除非它們是在設定新值的批次完成之後才啟動。 如果連線上有多個 MARS 批次作用中,值即無法設定為 "read_only"。這可防止競爭以及無法決定哪個值「獲勝」的狀況。
範例
下面這個簡單的範例會先將索引鍵 user_id
的工作階段值設為 4,再使用 SESSION_CONTEXT 函式來擷取該值。
EXEC sp_set_session_context 'user_id', 4;
SELECT SESSION_CONTEXT(N'user_id');
另請參閱
sp_set_session_context (Transact-SQL)
CURRENT_TRANSACTION_ID (Transact-SQL)
資料列層級安全性
CONTEXT_INFO (Transact-SQL)
SET CONTEXT_INFO (Transact-SQL)