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

Как при использовании 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
Отзывы и предложения
ript>