Trigger não chama procedure
Bom dia
pessoal, eu tenho uma base FB 1.5 e nela uma procedure que serva para atualizar o valor pago de uma conta, esta procedure é chamada por uma trigger numa tabela de cheques recebidos. Seguem as mesmas:
A procedure:
A trigger:
Bom, a procedure funciona se eu chamar ela manualmente pelo IBExpert, mas quando eu altero a tabela cheques a trigger parece não disparar a procedure. Não dá mensagem de erro nenhum, só não funciona....
O que pode ser?
pessoal, eu tenho uma base FB 1.5 e nela uma procedure que serva para atualizar o valor pago de uma conta, esta procedure é chamada por uma trigger numa tabela de cheques recebidos. Seguem as mesmas:
A procedure:
CREATE PROCEDURE ATUALIZA_SALDO_PAGAR ( COD_LANCTOS INTEGER) AS DECLARE VARIABLE TOTAL_GERAL NUMERIC(12,2); DECLARE VARIABLE TOTAL_CHEQUE NUMERIC(12,2); DECLARE VARIABLE TOTAL_CARTAO NUMERIC(12,2); DECLARE VARIABLE TOTAL_BOLETOS NUMERIC(12,2); begin /*TOTALIZA O JA PAGO EM CHEQUES*/ SELECT COALESCE(SUM(VALOR),0) FROM contas_cheques WHERE COD_LANCTO=:COD_LANCTOS and contas_cheques.COMPENSADO=´S´ INTO :TOTAL_CHEQUE; /*TOTALIZA O JA PAGO EM CARTOES*/ SELECT COALESCE(SUM(VALOR),0) FROM contas_cartoes WHERE COD_LANCTO=:COD_LANCTOS and contas_cartoes.pago=-1 INTO :TOTAL_CARTAO; /*TOTALIZA O JA PAGO EM BOLETOS*/ SELECT COALESCE(SUM(VALOR),0) FROM contas_boletos WHERE COD_LANCTO=:COD_LANCTOS and contas_boletos.pago=-1 INTO :TOTAL_BOLETOS; /*UNE TODAS AS VARIAVEIS NUM SO*/ TOTAL_GERAL=TOTAL_CHEQUE + TOTAL_CARTAO; UPDATE contas_lancamentos SET CONTAS_LANCAMENTOS.valor_pago=:TOTAL_GERAL WHERE CONTAS_LANCAMENTOS.CODIGO=:COD_LANCTOS; /*SE O VALOR PAGO FOR IGUAL OU MAIOR QUE O VALOR DEVIDO POE A CONTA COMO PAGA*/ UPDATE contas_lancamentos SET CONTAS_LANCAMENTOS.pago=-1 WHERE CONTAS_LANCAMENTOS.CODIGO=:COD_LANCTOS AND CONTAS_LANCAMENTOS.VALOR_PAGAR<=contas_lancamentos.valor_pago; suspend; End
A trigger:
CREATE TRIGGER CONTAS_CHEQUES_AIUD0 FOR CONTAS_CHEQUES ACTIVE AFTER INSERT OR UPDATE OR DELETE POSITION 0 AS begin execute procedure ATUALIZA_SALDO_PAGAR NEW.CODIGO; end
Bom, a procedure funciona se eu chamar ela manualmente pelo IBExpert, mas quando eu altero a tabela cheques a trigger parece não disparar a procedure. Não dá mensagem de erro nenhum, só não funciona....
O que pode ser?
Vbshar
Curtidas 0