Fórum Triger de Delete Não Dispara #210915
01/02/2004
0
Pessoal,
Criei a seguinte trigger:
SET TERM !!
CREATE TRIGGER ´MOVIMENTA_DEL´ FOR ´TBMOVIMENTACAO´
ACTIVE BEFORE DELETE POSITION 0
AS
DECLARE VARIABLE TIPOMV VARCHAR(15);
BEGIN
IF (OLD.MVAGENDA = ´NÃO´) THEN
BEGIN
SELECT TBDESCRICAO.DETIPO FROM TBDESCRICAO
WHERE TBDESCRICAO.ID = OLD.MVDESCRICAOCOD
INTO :TIPOMV;
IF (:TIPOMV = ´RECEITA´) THEN
BEGIN
UPDATE TBCONTA SET TBCONTA.CTSALDO = TBCONTA.CTSALDO - OLD.MVVALORPGTO
WHERE TBCONTA.ID = OLD.MVCONTACOD;
END
ELSE
BEGIN
UPDATE TBCONTA SET TBCONTA.CTSALDO = TBCONTA.CTSALDO + OLD.MVVALORPGTO
WHERE TBCONTA.ID = OLD.MVCONTACOD;
END
EXCEPTION CONTA_ALTERADA;
END
END !!
SET TERM !!
Esta trigger funciona se eu executar direto no banco, mas se eu fizer uma exclusao via programa, ela nao dispara.
Criei outras triggers com este mesmo escopo, para inclusao e alteração e está funcionando via programação, mas esta não dispara... O que está havendo!?
Outra coisa: na mensagem de exception aparece:
´Exception 1
A conta foi alterada com sucesso´
Como faço para não aparecer o ´Exception 1´
Criei a seguinte trigger:
SET TERM !!
CREATE TRIGGER ´MOVIMENTA_DEL´ FOR ´TBMOVIMENTACAO´
ACTIVE BEFORE DELETE POSITION 0
AS
DECLARE VARIABLE TIPOMV VARCHAR(15);
BEGIN
IF (OLD.MVAGENDA = ´NÃO´) THEN
BEGIN
SELECT TBDESCRICAO.DETIPO FROM TBDESCRICAO
WHERE TBDESCRICAO.ID = OLD.MVDESCRICAOCOD
INTO :TIPOMV;
IF (:TIPOMV = ´RECEITA´) THEN
BEGIN
UPDATE TBCONTA SET TBCONTA.CTSALDO = TBCONTA.CTSALDO - OLD.MVVALORPGTO
WHERE TBCONTA.ID = OLD.MVCONTACOD;
END
ELSE
BEGIN
UPDATE TBCONTA SET TBCONTA.CTSALDO = TBCONTA.CTSALDO + OLD.MVVALORPGTO
WHERE TBCONTA.ID = OLD.MVCONTACOD;
END
EXCEPTION CONTA_ALTERADA;
END
END !!
SET TERM !!
Esta trigger funciona se eu executar direto no banco, mas se eu fizer uma exclusao via programa, ela nao dispara.
Criei outras triggers com este mesmo escopo, para inclusao e alteração e está funcionando via programação, mas esta não dispara... O que está havendo!?
Outra coisa: na mensagem de exception aparece:
´Exception 1
A conta foi alterada com sucesso´
Como faço para não aparecer o ´Exception 1´
Rafaelunp
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)