[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