Você está offline; aguardando reconexão

Como especificar parâmetros de saída quando você usar o sp_executesql procedimento armazenado no SQL Server

IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.

Clique aqui para ver a versão em Inglês deste artigo: 262499
Sumário
Sp_executesql procedimento armazenado do sistema é usado para executar uma instrução T-SQL que pode ser reutilizada várias vezes, ou para executar uma instrução T-SQL construída dinamicamente. Recebe parâmetros como entradas para processar instruções T-SQL ou lotes. Ele também permite que os parâmetros de saída deve ser especificado para que qualquer saída gerada a partir de instruções T-SQL pode ser armazenada (embora isto não está documentado nos Manuais Online do SQL Server).

Dois cenários em que os parâmetros de saída será útil com sp_executesql são:
  • Se sp_executesql gera uma saída que será útil, armazenar essa saída para um parâmetro de saída permite que o lote de chamada para usar o parâmetro para consultas posteriores.
  • Se sp_executesql é executar um procedimento armazenado que é definido usando parâmetros de saída, os parâmetros de saída para sp_executesql podem ser usados para armazenar as saídas geradas pelo procedimento armazenado.
Mais Informações
Os exemplos a seguir demonstram o uso de parâmetros de saída com sp_executesql.

Exemplo 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				
Exemplo 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				
Para obter informações adicionais, consulte "sp_executesql (T-SQL)" e "Usando sp_executesql" no SQL Server Books Online.For obter informações adicionais, consulte "Usando sp_executesql" nos Manuais Online do SQL Server e "sp_executesql (T-SQL) no SQL Server 7.0 Books Online" ou "sp_executesql" nos Manuais Online do SQL Server 2000.

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 262499 - Última Revisão: 12/22/2014 23:15:00 - Revisão: 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 KbMtpt
Comentários
teElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">