適用於:SQL Server
準備和執行參數化的 Transact-SQL 語句。
sp_prepexec
結合 的 sp_prepare
函式,而且 sp_execute.
此動作是在表格式數據流 (TDS) 封包中叫用 ID = 13
的。
語法
sp_prepexec handle OUTPUT , params , stmt
[ , bound param ] [ , ...n ]
[ ; ]
引數
重要
擴充預存程式的自變數必須依特定順序輸入,如 語法 一節所述。 如果參數依序輸入,就會發生錯誤訊息。
控制代碼
SQL Server 產生的 句柄 標識碼。 handle 是具有 int 傳回值的必要參數。
params
識別參數化語句。
變數的參數定義會取代 語句中的參數標記。
params 是呼叫 ntext、nchar 或 nvarchar 輸入值的必要參數。 如果未參數化語句,則輸入 NULL
值。
stmt
定義數據指標結果集。 stmt 參數是必要的,而且會呼叫 ntext、nchar 或 nvarchar 輸入值。
bound_param
表示選擇性地使用額外的參數。 bound_param呼叫任何數據類型的輸入值,以指定使用中的額外參數。
範例
下列範例會準備並執行簡單的語句:
Declare @Out int;
EXEC sp_prepexec @Out output,
N'@P1 nvarchar(128), @P2 nvarchar(100)',
N'SELECT database_id, name
FROM sys.databases
WHERE name=@P1 AND state_desc = @P2',
@P1 = 'tempdb', @P2 = 'ONLINE';
EXEC sp_unprepare @Out;