Fórum Duvida em TRIGGER #40457
29/11/2003
0
Galera to cm pequeno probleminha,
É assim tenho um cadastro de Bomba de combustível onde tem o campo SALDA o campo VLR_ESTOQUE e o PRECO_MEDIO,
Tenho um form em que dou a entrada e ele alimenta o SALDO, VLR_ESTOQUE e a PRECO_MEDIO,,,
Bom tudo funciona corretamente as entradas e as saídas, porem quando eu excluo todos os registros para ver se o sistema está voltando o SALDO o VLR_ESTOQUE e o PRECO_MEDIO, no ultimo dá erro:
Porque??
Eu sei! na minha TRIGGER tem uma linha assim:
bombas.preco_medio= (bombas.vlr_estoque / bombas.saldo)
encarregada de calcular o PRECO_MEDIO, então quando (bombas.vlr_estoque / bombas.saldo) é igual a zego dá erro,
Oque fazer preciso de um um IF que verifica quando
(bombas.vlr_estoque / bombas.saldo) = 0 para meu PRECO_MEDIO ser 0 sem fazer a divisão!!!
Ex: de minha TRIGGER após o delete
CREATE TRIGGER VOLTA_COMBUSTIVEL_DELETE FOR ABASTECIMENTO_BOMBAS
ACTIVE AFTER DELETE POSITION 0
AS
begin
UPDATE BOMBAS SET
BOMBAS.saldo=BOMBAS.saldo - (OLD.QUANTIDADE),
BOMBAS.vlr_estoque=BOMBAS.vlr_estoque - (OLD.VLR_TOTAL),
bombas.preco_medio= (bombas.vlr_estoque / bombas.saldo)
WHERE INDICE = abastecimento_bombas.cod_bomba;
End
Grato pela compreensão e ajuda,
Marcos Fernando
É assim tenho um cadastro de Bomba de combustível onde tem o campo SALDA o campo VLR_ESTOQUE e o PRECO_MEDIO,
Tenho um form em que dou a entrada e ele alimenta o SALDO, VLR_ESTOQUE e a PRECO_MEDIO,,,
Bom tudo funciona corretamente as entradas e as saídas, porem quando eu excluo todos os registros para ver se o sistema está voltando o SALDO o VLR_ESTOQUE e o PRECO_MEDIO, no ultimo dá erro:
Porque??
Eu sei! na minha TRIGGER tem uma linha assim:
bombas.preco_medio= (bombas.vlr_estoque / bombas.saldo)
encarregada de calcular o PRECO_MEDIO, então quando (bombas.vlr_estoque / bombas.saldo) é igual a zego dá erro,
Oque fazer preciso de um um IF que verifica quando
(bombas.vlr_estoque / bombas.saldo) = 0 para meu PRECO_MEDIO ser 0 sem fazer a divisão!!!
Ex: de minha TRIGGER após o delete
CREATE TRIGGER VOLTA_COMBUSTIVEL_DELETE FOR ABASTECIMENTO_BOMBAS
ACTIVE AFTER DELETE POSITION 0
AS
begin
UPDATE BOMBAS SET
BOMBAS.saldo=BOMBAS.saldo - (OLD.QUANTIDADE),
BOMBAS.vlr_estoque=BOMBAS.vlr_estoque - (OLD.VLR_TOTAL),
bombas.preco_medio= (bombas.vlr_estoque / bombas.saldo)
WHERE INDICE = abastecimento_bombas.cod_bomba;
End
Grato pela compreensão e ajuda,
Marcos Fernando
Marcos Fernando
Curtir tópico
+ 0
Responder
Posts
02/12/2003
Marcos Fernando
PARA EVITAR O ERRO COLOQUE NO UPDATE DA TABELA ONDE FOI ALTERADA E NAUM A QUE FOI EXCLUIDA
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)