sp_prepexec (Transact-SQL)
准备并执行参数化的 Transact-SQL 语句。sp_prepexec 结合了 sp_prepare 和 sp_execute 的功能。这通过在表格格式数据流 (TDS) 包中指定 ID =13 来调用。
语法
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;