[firebase-br] Problema com TRigger - muitas execuções concorrentes da mesma requisicao

NextCorp Informática nextcorp em terra.com.br
Seg Jun 11 01:02:23 -03 2007


Caros colegas

Estou quebrando com esta triggr há dias, alguém poderia informar o por que 
está dando este erro.

Tenho uma tabela emprestimos e outra emprestimos_itens. (master-detail)

Lanço alguns valores na tb emprestimo_itens que calcula alguns acréscimos 
para ser lançado depois na ultima parcela com seus acrescimos e diferenças 
pagas a mais ou a menos. Nesta parte tudo ok.

O problema está na trigger abaixo, pois ao dar o post, imaginei que pudesse 
disparar a trigger abaixo para fazer algumas operacoes e depois atualizar o 
valor da ultima parcela, ms me dá este erro, visto que estou tentando 
atualizar um registro da mesma tb que sofreu o post.

Não é possivel apos o post tentar atualizar alguns registro da mesma tabela 
?????


CREATE TRIGGER TR_EMPR_AU0 FOR EMPRESTIMOS_ITENS
ACTIVE AFTER UPDATE POSITION 0
AS
    declare variable wv_item Integer;
    declare variable wv_total_acrescimos numeric(15,2);
    declare variable wv_valor_parcela numeric(15,2);
begin
  -- soma tudo que foi pago
  select sum(empi_valor_parc - empi_valor_pago + empi_valor_acres)
  from emprestimos_itens
  where empi_controle = old.empi_controle and empi_pago = 'S'
  into :wv_total_acrescimos;

  if (:wv_total_acrescimos is null) then
     wv_total_acrescimos= 0.00;

  -- pega a ultima parcela
  select max(empi_itens), empi_valor_parc
  from emprestimos_itens
  where empi_controle = old.empi_controle
  group by empi_valor_parc
  into :wv_item, :wv_valor_parcela;


  update emprestimos_itens set
  empi_valor_parc = (:wv_valor_parcela + :wv_total_acrescimos)
  where empi_itens = :wv_item;

end

Já não sei mais oque fazer, visto que já mudei está trigger diversas vezes 
tentando de tudo, oque estou fazendo de errado, não consegui definir o por 
que de não deixar atualizar a mesm tb depois de um post efetuado.

Atenciosamente

Washington André Muller da Silva

#######################
NextCorp Informática
www.nextcorp.com.br
nextcorp em terra.com.br
0-XX-(51)-3589-3690
####################### 





Mais detalhes sobre a lista de discussão lista