sp_prepexec (Transact-SQL)
适用范围:SQL Server
准备和执行参数化的 Transact-SQL 语句。
sp_prepexec
合并表格数据流(TDS)数据包中的函数 sp_prepare
和 sp_execute.
此操作 ID = 13
。
语法
sp_prepexec handle OUTPUT , params , stmt
[ , bound param ] [ , ...n ]
[ ; ]
参数
重要
扩展存储过程的参数必须按特定顺序输入,如 语法 节中所述。 如果参数按顺序输入,则会出现错误消息。
handle
SQL Server 生成的 句柄 标识符。 handle 是具有 int 返回值的必需参数。
params
标识参数化语句。
变量的参数定义将替换为语句中的参数标记。
params 是调用 ntext、nchar 或 nvarchar 输入值的必需参数。
NULL
如果未参数化语句,则输入值。
stmt
定义游标结果集。 stmt 参数是必需的,并调用 ntext、nchar 或 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;