Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bruno Borba

Recursividade de Procedure

Recommended Posts

CREATE Procedure STPNumero
  @PLCT_ID                              Varchar(40),
  @PLCT_Numero                  Varchar(30) OutPut
AS
Begin
  Declare @ChaveAnterior  Varchar(40)
  Declare @NumeroAtual  Varchar(30)

  SELECT
        @ChaveAnterior = PLCT_IDMaster,
        @NumeroAtual            = PLCT_Seq
  FROM
        PlanoContas
  WHERE
        Coalesce(PLCT_ID, '') = Coalesce(@PLCT_ID, '')

  SET @PLCT_Numero = @NumeroAtual

  IF (@ChaveAnterior IS NULL)
  Begin
         [b]Exec STPNumero @ChaveAnterior[/b]

        SET @PLCT_Numero = @PLCT_Numero + '.' + @NumeroAtual
  End
End

Minha Duvida e Pergunta eh a seguinte eu chamo a Stored Procedure na mesma Stored Proceture

como faço para receber o valor de saida dela.

 

estava colocando assim

 

Select @Variavel = CampoRetorno From Procedure (Valor)

 

bem sei q esta errado gostaria da ajuda de vcs.

 

 

é quase certo o Mr. DAW responder pq o cara responde tudoooo hehehe

 

um abraço a todos do forum

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Bruno, beleza? Aqui todos se ajudam, sempre numa boa! :)

 

além da dica do amigo Eriva, posso te adiantar o seguinte:

 

Na procedure que você chama dentro da outra (STPNumero), define nela a variável que você quer pegar depois como tipo output, por exemplo:

 

Nas declarações de variáveis da procedure interna, ponha uma lá tipo:

Declare @MasterCode  Char(3) Output

e alimente este valor dentro da procedure.

 

Ao final, após rodar esta procedure, você terá este valor alimentado para usar na procedure que a chamou, sacou?

 

[]tz ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.