sp_prepexec (Transact-SQL)

准备并执行参数化的 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 定义替换为语句中的参数标记。params 是一个必需参数,它需要 ntext、nchar 或 nvarchar 输入值。如果语句未参数化,则输入一个 NULL 值。

  • stmt
    定义游标结果集。stmt 参数是必需的,它需要 ntext、nchar 或 nvarchar 输入值。

  • bound_param
    指示可选使用其他参数。bound_param 需要任何数据类型的输入值,以指定所使用的其他参数。

示例

下面的示例准备并执行一个简单的语句。

Declare @P1 int;
EXEC sp_prepexec @P1 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 @P1;

请参阅

参考

sp_prepare (Transact SQL)

sp_execute (Transact-SQL)

系统存储过程 (Transact-SQL)