[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