В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету
Войти

Как при использовании sp_executesql указать выходные параметры хранимой процедуры в SQL Server

ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.

262499
Аннотация
Системной хранимой процедуры sp_executesql используется для выполнения инструкции T-SQL, который можно повторно использовать несколько раз или для выполнения динамически построенного инструкции T-SQL. Принимает в качестве входных данных параметра для обработки инструкций T-SQL и пакетов. Она также позволяет выходных параметров задается таким образом, чтобы все выходные данные, созданные из инструкций T-SQL могут быть сохранены (хотя это не описано в электронной документации по SQL Server).

Приведены два сценария, в которых будет удобно использовать с sp_executesql выходные параметры.
  • Если sp_executesql создает выходные данные, могут быть полезны, хранение вывод выходного параметра позволяет вызывающему пакету с помощью параметра для последующих запросов.
  • Если sp_executesql выполняется хранимая процедура, которая определяется с помощью выходные параметры, выходные параметры sp_executesql может использоваться для хранения выходные данные, создаваемые из хранимой процедуры.
Дополнительная информация
Следующие два примера демонстрируют использование выходных параметров с sp_executesql.

Пример 1.
DECLARE @SQLString NVARCHAR(500)DECLARE @ParmDefinition NVARCHAR(500)DECLARE @IntVariable INTDECLARE @Lastlname varchar(30)SET @SQLString = N'SELECT @LastlnameOUT = max(lname)                   FROM pubs.dbo.employee WHERE job_lvl = @level'SET @ParmDefinition = N'@level tinyint,                        @LastlnameOUT varchar(30) OUTPUT'SET @IntVariable = 35EXECUTE sp_executesql@SQLString,@ParmDefinition,@level = @IntVariable,@LastlnameOUT=@Lastlname OUTPUTSELECT @Lastlname				
Пример 2
CREATE PROCEDURE Myproc    @parm varchar(10),    @parm1OUT varchar(30) OUTPUT,    @parm2OUT varchar(30) OUTPUT    AS      SELECT @parm1OUT='parm 1' + @parm     SELECT @parm2OUT='parm 2' + @parmGODECLARE @SQLString NVARCHAR(500)DECLARE @ParmDefinition NVARCHAR(500)DECLARE @parmIN VARCHAR(10)DECLARE @parmRET1 VARCHAR(30)DECLARE @parmRET2 VARCHAR(30)SET @parmIN=' returned'SET @SQLString=N'EXEC Myproc @parm,                             @parm1OUT OUTPUT, @parm2OUT OUTPUT'SET @ParmDefinition=N'@parm varchar(10),                      @parm1OUT varchar(30) OUTPUT,                      @parm2OUT varchar(30) OUTPUT'EXECUTE sp_executesql    @SQLString,    @ParmDefinition,    @parm=@parmIN,    @parm1OUT=@parmRET1 OUTPUT,@parm2OUT=@parmRET2 OUTPUTSELECT @parmRET1 AS "parameter 1", @parmRET2 AS "parameter 2"godrop procedure Myproc				
Дополнительные сведения см «sp_executesql (T-SQL)» и «Использование sp_executesql» в SQL Server Books Online.For получения дополнительных сведений, см. «С помощью sp_executesql» в электронной документации по SQL Server и «sp_executesql (T-SQL), в электронной документации по SQL Server 7.0» или «sp_executesql» в электронной документации по SQL Server 2000.

Предупреждение: эта статья переведена автоматически

Свойства

Номер статьи: 262499 — последний просмотр: 12/22/2014 23:54:00 — редакция: 5.0

  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • kbsqlsetup kbinfo kbmt KB262499 KbMtru
Отзывы и предложения