[firebase-br] RES: ajuda com stored procedure

Reijanio Nunes Ribeiro rnribeiro em gmail.com
Ter Mar 24 13:48:59 -03 2009


grandee anderson deu certo desculpe por informar so agora, muito obrigado
mesmo

2009/3/22 Anderson Miranda Barrozo <andersonpaduarj em gmail.com>

> Se eu entendi bem, vc quer ler a toda a tabela STIHL e atualizar a tabela
> produto. Se for
> isso ficaria mais ou menos assim. Um detalhe que vi na sua SP original foi
> os parametros de entrada, pois como vc iria ler toda a tabela não
> precisaria
> então criei as mesmas como variavel para ser usada junto select : into.
>
>
> SET TERM ^ ;
>
> CREATE OR ALTER PROCEDURE IMPORTAR (
> )
> as
>    codigo integer,
>   descricao varchar(200),
>   vlrvenda double precision
> begin
> FOR SELECT CODIGO, DESCRICAO, PRECO_VENDA  FROM STIHL
>       INTO :CODIGO, :DESCRICAO, :VLRVENDA      // Varre toda tabela STIHL
>      DO BEGIN
>  if (Exists(select * from PRODUTO where codigo =:codigo)) then
>  begin
>    update produto set
>            vlrvenda = : vlrvenda,
>            descricao =:descricao
>    where (codigo = :codigo);
>  end
>  else
>  begin
>    insert into produto(
>              codigo,
>              descricao,
>              vlrvenda)
>     VALUES (
>              :codigo,
>              :descricao,
>              :vlrvenda);
>  END
>  end
>
> end^
>
>
> 2009/3/21 Sandro <sandro_rebelo em ibest.com.br>
>
> > Mas se você esta passando já o código, a descrição e valor na procedure
> > porque vc esta fazendo esse select?
> >
> > Se tirar esse select da procedure não funciona o jeito que vc quer?
> >
> > FOR SELECT CODIGO, DESCRICAO, PRECO_VENDA  FROM STIHL
> >       INTO :CODIGO, :DESCRICAO, :vlrvenda //esseloop não ta resolvendo a
> > questão
> >
> >
> >
> >
> >
> >
> > -----Mensagem original-----
> > De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
> > Em
> > nome de Reijanio Nunes Ribeiro
> > Enviada em: sábado, 21 de março de 2009 11:50
> > Para: FireBase
> > Assunto: [firebase-br] ajuda com stored procedure
> >
> > bom dia a todos estou com um pesqueno problema poderiam me ajudar, outro
> > dia
> > criei minha primeira sp, pra usar em um importador so que ela so
> importava
> > se a tabela destino estivesse vazia e eu gostaria de inserir caso algum
> > produto nov fosse inserido na tabela ou tivesse mudado de codigo então a
> > fiz
> > assim mais ta dando erro no loop que não ta varrendo a tabela toda e
> > inserindo os itens que faltam poderiam me ajudar falta be,m pouco coisa e
> > da
> > forma que umcoelga tenteou fazer ficou meio complicado usando duas sp's,
> > acredito que da forma que ta não seja tão complicado, mais to apanhando
> >  a sintaxe é a seguinte
> >
> > SET TERM ^ ;
> >
> > CREATE OR ALTER PROCEDURE IMPORTAR (
> >    codigo integer,
> >    descricao varchar(200),
> >    vlrvenda double precision)
> > as
> > begin
> > FOR SELECT CODIGO, DESCRICAO, PRECO_VENDA  FROM STIHL
> >       INTO :CODIGO, :DESCRICAO, :vlrvenda //esseloop não ta resolvendo a
> > questão
> >       DO BEGIN
> >  if (Exists(select codigo from stihl where codigo =:codigo)) then
> >  begin
> >  update produto set vlrvenda = : vlrvenda,
> >  descricao =:descricao
> >
> >   where (codigo = :codigo);
> >     end
> >    else
> >      begin
> >    insert into produto(codigo, descricao, vlrvenda) select codigo,
> > descricao, preco_venda
> >
> >    from stihl;
> >
> >       END
> > end
> >
> > end^
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
>
>
>
> --
>
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> AS Informática
> Anderson Miranda Barrozo
> (22) 8115-8761
> MSN: andersonpaduarj em hotmail.com
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista