sp_prepexec (Transact-SQL)
Подготавливает и выполняет параметризованную инструкцию Transact-SQL. В процедуре sp_prepexec сочетаются функции процедур sp_prepare и sp_execute. Вызывается с ID =13 в пакете потока табличных данных (TDS).
Синтаксические обозначения в 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;