[firebase-br] SP
Magno
magnoscosta em bol.com.br
Ter Fev 28 11:59:01 -03 2006
Amigos listeiros...
antes eu tinha uma rotina em delphi assim:
Qry.First;
While not Qry.Eof Do
Begin
Proc_Rat.Params[0].AsFloat := QryHA.AsFloat;
Proc_Rat.Params[1].AsInteger := QryCod_Rateio.AsInteger;
Proc_Rat.Params[2].AsInteger := QryCod_Interno.AsInteger;
Proc_Rat.ExecProc;
Qry.next;
end;
onte eu tinha q passar basicamente o codigo do registro atual, um valor do registro atual, e outro codigo no caso Cod_Rateio.
para que eu fizesse rodar a procedure:
begin
Select Sum(Ha) from ctrati where Cod_Rateio = :P_CodRat
and Especial = 0 into :P_Soma;
select Sum(Ha) from ctrati Where Cod_Rateio = :P_CodRat
into :P_Soma2;
pPercentagem = (:PNEWHA*100)/:P_Soma;
pPercentagem2 = (:PNEWHA*100)/:P_Soma2;
/* Atualizar as percentagens */
Update CTRATI Set Perc_Geral = :pPercentagem Where Cod_Interno = :P_CodInterno
and Especial = 0;
Update CTRATI Set Perc_Esp = :pPercentagem2 Where Cod_Interno = :P_CodInterno;
suspend;
end
Porem to querendo juntar isso ai..
ou seja....
Passar o codigo geral.....
e a SP selecionar todos os registro com akele codigo, fazer a soma e atualizar cada registro, sem q eu precise fazer via delphi passar por cada registro..
Sequencia:
Somar o campo HA de todos os registro com o codigo informado;
Pra cada registro pegar o campo HA e gerar a porcentagem representativa sobre o total somado (pPercentagem = (HA*100)/:P_Soma;)
e atualizar o campo de cada registro.
Deu pra entender?
Vlw
Magno
Mais detalhes sobre a lista de discussão lista