共用方式為


SESSION_CONTEXT (Transact-SQL)

適用於: sql Server 2016 (13.x) 和更新版本的 Azure SQL 資料庫 Azure SQL 受控執行個體 Microsoft Fabric Microsoft Fabric 倉儲中的 Azure Synapse Analytics SQL 分析端點

傳回目前工作階段內容中指定索引鍵的值。 此值是使用 sp_set_session_context (Transact-SQL) 程序建立。

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)