sp_prepexec (Transact-SQL)

適用於:SQL Server

準備和執行參數化的 Transact-SQL 語句。 sp_prepexec結合sp_prepare和sp_execute的函式。 這個動作是由表格式數據流 (TDS) 封包中的ID =13 叫用。

Transact-SQL 語法慣例

語法

  
sp_prepexec handle OUTPUT, params , stmt  
    [ , bound param ] [ ,...n]]  

引數

控制代碼
這是 SQL Server 產生的 句柄 標識碼。 handle 是具有 int 傳回值的必要參數。

params
識別參數化語句。 變數的參數定義會取代 語句中的參數標記。 params 是呼叫 ntextnchar 或 nvarchar 輸入值的必要參數。 如果未參數化語句,則輸入NULL值。

stmt
定義數據指標結果集。 stmt 參數是必要的,而且會呼叫 ntextnchar 或 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;  

另請參閱

sp_prepare (Transact SQL)
sp_execute (Transact-SQL)
系統預存程序 (Transact-SQL)