Поделиться через


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;

См. также

Справочник

sp_prepare (Transact SQL)

sp_execute (Transact-SQL)

Системные хранимые процедуры (Transact-SQL)