分享方式:


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;