sp_prepare (Transact SQL)
Готовит параметризованную инструкцию Transact-SQL и возвращает дескриптор инструкции для выполнения. Для вызова хранимой процедуры sp_prepare необходимо указать ID = 11 в пакете потока табличных данных (TDS).
Cинтаксические обозначения в Transact-SQL
Синтаксис
sp_prepare handle OUTPUT, params, stmt, options
Аргументы
handle
Идентификатор подготовленного дескриптора, сформированный сервером SQL Server. Аргумент handle является обязательным параметром с возвращаемым значением типа int.params
Указывает параметризованные инструкции. Определение params переменных подставляется вместо маркеров параметров в инструкции. params является обязательным параметром, вызывающим входное значение ntext, nchar или nvarchar . Если инструкция не параметризована, необходимо ввести значение NULL.stmt
Определяет результирующий набор курсора. Параметр stmt обязателен и требует входного значения типа ntext, nchar или nvarchar.options
Необязательный параметр, возвращающий описание столбцов результирующего набора курсора. options требует следующего входного значения int.Значение
Описание
0x0001
RETURN_METADATA
Примеры
В следующем примере подготавливается и выполняется простая инструкция.
Declare @P1 int;
Exec sp_prepare @P1 output,
N'@P1 nvarchar(128), @P2 nvarchar(100)',
N'SELECT database_id, name FROM sys.databases WHERE name=@P1 AND state_desc = @P2';
Exec sp_execute @P1, N'tempdb', N'ONLINE';
EXEC sp_unprepare @P1;