[firebase-br] Stored Procedure

Fausto fausto.s.a em uol.com.br
Sáb Nov 12 13:30:30 -03 2005


Amigo, muito simples, leia o roda-pé das mensagens..
Fausto

luiz lopes escreveu:

>PELO AMOR DE DEUS, 
> 
>COMO EU FAÇO PRA ME DISFILIAR DESTE CLUBE FIRE BASE, SE VOCÊ SOUBER OU SOUBER DE ALGUEM QUE SAIBA. 
> 
>PEÇO ENCARECIDAMENTE PRA ME AVISAR A FORMA, POIS ESTE EMAIL É PROFISSIONAL E EU NÃO POSSO MUDA-LO, MINHA CAIXA VIVE CHEIA DE EMAILS DESTE CLUBE.
> 
>AGRADECIMENTOS FRATERNO.
> 
>LUIZ CARLOS LOPES
>
>Edson <edson.vieira em atmasoftwares.com.br> escreveu:
>Ola, caso não tenha nenhum erro digitado no código de alteração da procedure 
>(como visto abaixo) e so executar dentro da query mesmo, ha não esquece de 
>desabilitar a opcao ParamCheck c nao ele vai querer testar o parametros e 
>retornará um erro (utilizando o IBX)
>
>t +
>
>
>
>----- Original Message ----- 
>From: "Junior" 
>To: 
>
>Sent: Friday, November 11, 2005 2:55 PM
>Subject: [firebase-br] Stored Procedure
>
>
>Olá amigos.
>
>Vou usar o e-mail do nosso amigo sobre SP.
>
>Desenvolvi um sistema com Delphi e FireBird que está rodando numa empresa. 
>Quando há necessidade de alterar alguma tabela utilizo 'Alter tabble....' / 
>'Create table....' e assim por diante.
>
>No caso a baixo de uma SP eu posso fazer da seguinte forma:
>
>QyAtualiza é minha query p/ atualização das tabelas
>
>QyAtualiza.close;
>
>QyAtualiza.sql.clear;
>
>QyAtualiza.add('CREATE PROCEDURE CALC_CUSTO_PRODUTOS (');
>QyAtualiza.add('WPRODUTO_ID INTEGER)');
>QyAtualiza.add('RETURNS (');
>QyAtualiza.add('WCUSTO NUMERIC(9,2))');
>QyAtualiza.add('AS');
>QyAtualiza.add('DECLARE VARIABLE WPRODUTO_ID2 INTEGER;');
>QyAtualiza.add('DECLARE VARIABLE WCUSTOPARCIAL NUMERIC(9,2);');
>QyAtualiza.add('DECLARE VARIABLE WICMS NUMERIC(9,2);');
>QyAtualiza.add('DECLARE VARIABLE WMONTADO CHAR(1);');
>QyAtualiza.add('DECLARE VARIABLE WFORNECEDOR_ID INTEGER;');
>QyAtualiza.add('begin');
>QyAtualiza.add('wCusto=0;');
>QyAtualiza.add('Select montado, fornecedor_id from produtos where');
>QyAtualiza.add('produtos.registro_id=:wproduto_id into :wmontado, 
>:wfornecedor_id;');
>QyAtualiza.add('-- Select fornecedor_id from produtos where');
>QyAtualiza.add('produtos.registro_id=:wproduto_id into :wfornecedor_id;');
>QyAtualiza.add('if (wMontado='F') then /* Se **** NÃO **** FOR UM PRODUTO 
>MONTADO */');
>QyAtualiza.add('begin');
>QyAtualiza.add('select icms from agenda where');
>QyAtualiza.add('agenda.registro_id=:wFornecedor_id into :wICMS;');
>QyAtualiza.add('select Coalesce((valor_compra *');
>QyAtualiza.add('(1-(:wICMS/100)))+(valor_Compra*(IPI/100)),0) from 
>produtos');
>QyAtualiza.add('where registro_id=:wproduto_id into wcusto;');
>QyAtualiza.add('end');
>QyAtualiza.add('if (wMontado='T') then /* Se **** FOR **** UM PRODUTO 
>MONTADO */');
>QyAtualiza.add('begin');
>QyAtualiza.add('for Select produto_id, Coalesce((qtde * (Select wCusto');
>QyAtualiza.add('from Calc_Custo_Produtos(romaneios.produto_id))),0)');
>QyAtualiza.add('from romaneios where montagem_id=:wproduto_id');
>QyAtualiza.add('into :wproduto_id2, :wcustoparcial');
>QyAtualiza.add('do');
>QyAtualiza.add('wcusto=:wcusto+:wcustoparcial;');
>QyAtualiza.add('end');
>QyAtualiza.add('suspend;');
>QyAtualiza.add('end');
>
>QyAtualiza.ExecSQL;
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>Para editar sua configuração na lista, use o endereço 
>http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>		
>---------------------------------
> Yahoo! Acesso Grátis: Internet rápida e grátis.
>Instale o discador agora!
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>  
>




Mais detalhes sobre a lista de discussão lista