Trigger não chama Procedure...
OseasTormen
mentux em gmail.com
Sex Ago 1 16:08:13 -03 2008
camarada, acho que isso ae deveria ter dado uma excecao
tenta isso aki
execute procedure ATUALIZA_SALDO_PAGAR(NEW.CODIGO);
flw
--
____________________________
OseasTormen
Chapecó - SC
"VBSHAR" <sharmaq em terra.com.br> escreveu na
mensagem news:g6v9jb$480$1 em ger.gmane.org...
> 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:
> ===================================================
> 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 triger é:
> ===================================================
> 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?
>
>
>
>
--------------------------------------------------------------------------------
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista