[firebase-br] URGENTE!!! Poderiam analisar esta trigger
Anderson Sauthier
sauthier_fb em yahoo.com.br
Qui Fev 2 08:04:01 -03 2006
esta é a trigger do MOVFIN, cada lançamento feito ou deletado é atualizada a tabela de saldo do MOVFIN, SLDMOVCTAFIN
SLDMOVCTAFIN
CTAFIN DATA SLDANT CREDITO DEBITO SLDATU
1 01/01 0 50 10 40
1 02/01 40 40 0 80
1 03/01 80 0 10 70
1 04/01 70 0 0 0
esta é o primeiro trigger que faço, talvez possa ser melhorado.
esta trigger abaixo alimenta esta tabela acima, ela faz o resumo da movimentacao financeira numa tabela de Saldos por conta e dia (tabela Acima).
-quando insert e tipo = C entao acrescenta no CAMPO CREDITO
-quando insert e tipo = D entao acrescenta no CAMPO DEBITO
- é feito um update em SLDATU = SLDANT + CREDITO - DEBITO.
- quando data conta+data existirem altera conforme acima.
- quando data conta+data nao existirem cria um registro.
- quando delete diminui o valor do CREDITO ou DEBITO conforme tipo.
preciso que ao final do trigger seja atualizado os saldos anteriores a atuais conforme tabela acima.
por exemplo no dia 2 se deleto um lançamento de valor 10 a estrutura deve ficar assim:
SLDMOVCTAFIN
CTAFIN DATA SLDANT CREDITO DEBITO SLDATU
1 01/01 0 50 10 40
1 02/01 40 30 0 70
1 03/01 70 0 10 60
1 04/01 60 0 0 60
isso para a partir da data em questao e enquanto for a conta tal.
comecei a fazer um for select, mas nao deu certo. este FOR SELECT é para ser colocado lá no final da trigger. Desde já agradeço.
FOR SELECT SLDANT, CREDITO, DEBITO
FROM SLDMOVCTAFIN
WHERE CTAFINID = NEW/OLD.CTAFINID AND
DATA = NEW/OLD.DATA
INTO :SLDANT, :CREDITO, :DEBITO
DO
BEGIN
UPDATE ??? COMO FAZER A LOGICA???
END
---------------------------------
Yahoo! doce lar. Faça do Yahoo! sua homepage.
Mais detalhes sobre a lista de discussão lista