Ir para conteúdo

POWERED BY:

Arquivado

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

Gilnet

Executar uma procedure dentro da outra

Recommended Posts

Tenho essa procedure:

CREATE procedure pAgenda
(
      @Operacao        integer,
      @Nome            varchar(40),
      @Contato         varchar(40),
      @EMail           varchar(60),
      @DataCadastro    smalldatetime,
      @DataAtualizacao smalldatetime,
      @DDD integer,
      @Fone varchar(20),
      @TipoFone integer
)
as begin if(@Operacao = 2)
   begin insert into tbAgenda
       (
             Nome,
             Contato,
             EMail,
             DataCadastro,
             DataAtualizacao
       )
       values
       (
             upper(@Nome),
             upper(@Contato),
             lower(@EMail),
             @DataCadastro,
             @DataAtualizacao
       )
       select @@identity as idAgenda
       exec pTelefone(@idAgenda, @DDD, @Fone, @TipoFone)
   end
   return
end

 

e preciso inserir os parametros idAgenda, DDD, TipoFone em outra procedure chamada pTelefone. Alguma dica ?????

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem tranquilo, é mais ou menos isso que você fez, faltam os seguintes passos:

 

1 - Declare mais uma variável @idAgenda integer

 

2 - Coloque @@identity as @idAgenda (não esqueça o @)

Vou deixar uma dica IMPORTANTISSIMA, se você estiver utilizando a versão 2000 ou superior do SQL Server, não utilize @@identity nesses casos. No lugar da linha:

select @@identity as @idAgenda

Coloque:

set @idAgenda = Scope_Identity()

3 - Por fim, exexute a procedure da forma que você está fazendo, preferencialmente sem aspas:

exec pTelefone @idAgenda, @DDD, @Fone, @TipoFone

 

Esperi que consiga, poste os restulados obtidos.

[]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.