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]]  

参数

handle
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)