Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

C Alves

[Resolvido] Calculo em trigger

Recommended Posts

Pessoal

estou começando a aprender trigger. Em um programinha só para teste tenho uma tabela Mercadoria

com os campos num_registro, codigo_produto, valor_unitario,qtde_vendida_dia, valor_total_dia,valor_total_mes.

No formulario eu calculo valor_unitario * qtde_vendida_dia e gravo os dado na tabela mercadoria. Quero

que a medida que vou gravando os registros o valor_total_dia seja somado valor_total_mes do registro anterior.

Estou usando delphi6 e interbase 7.5.

Olhei muita coisa na internet e estudei algumas apostilas mas não tá dando certo.

Fiz o código seguinte:

 

CREATE TRIGGER VAL_TOTAL_MES FOR MERCADORIA

ACTIVE AFTER INSERT POSITION 0

as

begin

UpDate mercadoria set valor_total_mes =(old.valor_total_mes + new.valor_total_dia);

end

Se alguém puder me ajudar agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não está faltando ele por no update o WHERE com o campo que ele quer atualizar? Do jeito que está ali vai atualizar todos os campos da tabela mercadoria não é? :huh:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui melhor o que estava procurando usando duas tabelas.

Preciso agora apresentar o valor dessas duas tabelas em um relatório.

Passei a usar o seguinte código:

 

CREATE TRIGGER VAL_TOTAL_MES FOR MERCADORIA

ACTIVE AFTER INSERT POSITION 0

as

begin

UpDate TbItem_vendido set valor_total_mes =valor_total_mes + new.valor_total_dia

where cod_mercadoria=new.cod_mercadoria;

end

 

Sem o where acontecia realmente como o Chrnos falou. Agora tá resolvido.

Acho que agora vai dar tudo certo.

Obrigado pela atenção.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hehehehe, então como diria meu amigo, sucesso!!

 

Precisando de ajuda estamos ai! ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.