[firebase-br] Atualizar a própria tabela através de triggers

Alysson Gonçalves de Azevedo agalysson em gmail.com
Dom Dez 18 08:14:35 -03 2011


Pessoal, (simplificando o sistema) eu tenho 2 tabelas, uma chamada Despesa
e outra Desp_Contr.

A tabela Despesa vai ter um registro qualquer, com um determinado valor, R$
500,00, por exemplo.
E a tabela Desp_Contr vai ter varios registros associados à despesa
anterior, de forma que a soma de todos os registro será igual R$ 500,00.

Isso serve para cadastrar despesas e como essa despesa será dividida entre
os sócios envolvidos.
A questão é que eu vou permitir a alteração desses valores.

A tabela Desp_Contr vai ter um campo que indica se o valor que está la é o
padrão ou se foi alterado manualmente.
Quando um altera o valor de um registro, esse campo vai indicar a alteração.

Porem, supondo que tenha 10 pessoas que vão pagar igualmente a conta de R$
500,00, então por padrão, haveria 10 registros cada um no valor de R$ 50,00.
Mas o usuario altera o valor da pessoa X para R$ 140,00. Logo, as outras 9
pessoas dividiriam apenas o valor de R$ 360,00 dando R$ 40,00 para cada uma.

Agora o problema.
A principio eu pensei em fazer uma trigger para que quando alterar o valor
de uma pessoa, a trigger atualizaria os demais registros...
Mas ai eu fiquei em duvida sobre isso. Se uma trigger atualizar a própria
tabela (se é que fb permite isso), provavelmente vai entrar em looping
(será?).

O que vocês acham disso?

Depois eu pensei (e acho que farei) em procedures. isso tira o risco do
looping, mas não garante a integridade da tabela. Ou seja, a soma do valor
dos filhos = valor pai.
(como eu vou desenvolver o sistema, eu sei que vou manter isso certo, mas
enfim).

Vocês tem alguma outra ideia de como contornar?

Obrigado.

Alysson Gonçalves de Azevedo
(11) 8491-7730



Mais detalhes sobre a lista de discussão lista