Você está offline; aguardando reconexão

Como especificar os parâmetros de saída quando utiliza o sp_executesql procedimento armazenado no SQL Server

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 262499
Sumário
O procedimento armazenado do sistema sp_executesql é utilizado para executar uma instrução de T-SQL que pode ser reutilizada várias vezes, ou para executar uma instrução de T-SQL criada dinamicamente. São necessários parâmetros como factores de produção para poder processar as declarações de T-SQL ou secções. Também permite que os parâmetros de saída ser de molde a que podem ser armazenadas todas as saídas geradas a partir das demonstrações de T-SQL (embora este não está documentada no SQL Server Books Online).

Duas situações em que os parâmetros de saída será útil com sp_executesql são:
  • Se sp_executesql gera saída que serão úteis, armazenar este resultado para um parâmetro de saída permite a secção de chamada utilizar o parâmetro para consultas posteriores.
  • Se sp_executesql está em execução um procedimento armazenado que é definido utilizando parâmetros de saída, os parâmetros de saída para sp_executesql podem ser utilizados para conter as saídas geradas a partir o procedimento armazenado.
Mais Informação
Os dois exemplos seguintes demonstram a utilização dos 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 "Sp_executesql a utilizar" no SQL Server Books Online.For obter informações adicionais, consulte "Utilizar sp_executesql" no SQL Server Books Online e "sp_executesql (T-SQL) no SQL Server 7.0 Books Online" ou "sp_executesql" no SQL Server 2000 Books Online.

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 262499 - Última Revisão: 12/22/2014 23:29: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 2005 Server Enterprise, Microsoft SQL Server 2005 Express Edition, Microsoft SQL 2005 Server Workgroup

  • kbsqlsetup kbinfo kbmt KB262499 KbMtpt
Comentários