Duvida na inserção de dados na tabela..[iniciante]

3 respostas
M

Pessoal, estou com o seguinte dilema
estou desenvolvendo um sistema aqui que tem as tabelas:

Banco; Agencia; Conta; Lancamento; SaldoDiario;

as primeiras ai sao simples de entender, já a SaldoDiario tem que conter o seguinte:

codigo do banco
codigo da agencia
codigo da conta
data do lancamento (contem este dado na tabela lancamento)
saldo

resumindo, esta tabela tem que armazer o SALDO DIARIO de uma conta…
para quando o usuario quiser um relatorio de saldo da conta por exemplo, não necessitar percorrer cada lancamento…

até aqui tudo bem?

minha duvida é:

QUANDO e AONDE devo fazer a inserção dos dados nesta tabela SaldoDiario ???
pensei em fazer alguma trigger, mas sei la
gostaria de saber qual o modo mais “elegante” para realizar esta tarefa…

abç !

3 Respostas

Andre_Fonseca

eu acho que voce nao precisa ter uma tabela saldo diario, na hora de extrair os dados do seu relatorio basta você fazer um group by por data

Y

Bom, pelo que entendi tu precisas incluir na tabela de SaldoDiario, a cada dia, um registro do saldo até aquele momento, correto?

Eu usaria os eventos do MySQL, se este é o banco que está sendo utilizado.

Ficaria mais ou menos assim:

CREATE EVENT GeraEntradasSalárioDiário ON SCHEDULE EVERY 1 DAY STARTS '2009-11-30 22:00:00' DO INSERT INTO SaldoDiario (Banco, Agencia, Conta, DataLancamento, Saldo) (SELECT Banco, Agencia, Conta, CURDATE(), SUM(Valor) FROM lancamentos GROUP BY Banco, Agencia, Conta);

OBS: é necessário executar o seguinte comando

SET GLOBAL event_scheduler = 1;

para ativar o gerenciados de eventos do MySQL.

No STARTS note que eu defini como 22h o horário de execução. Tu podes colocar o horário que desejas que o saldo seja calculado a cada dia.

M

ah, estou utilizando linguagem Progress…

Criado 30 de novembro de 2009
Ultima resposta 30 de nov. de 2009
Respostas 3
Participantes 3