2012/11/5 Danilo Silva <[email protected]>

>
>
> 2012/11/5 Edson Lidorio <[email protected]>
>
>> Boa tarde,
>>
>> Estou com um probleminha na minha function, o segundo comando, o update
>> não esta sendo executado!
>> O que esta errado?
>>
>>
>> CREATE OR REPLACE FUNCTION fluxo_caixa_contas_pag()
>>   RETURNS trigger AS
>> $BODY$
>> BEGIN
>>
>>  IF (new.cd_conta is not NULL) and (new.dt_pgto is not NULL) and
>>  (new.vlr_pgto is not NULL) and (new.fg_paga = 'S') THEN
>>  INSERT INTO fluxcaix(
>>  cd_fil,dt_mov, fg_tipo_lcto, fg_forma_lcto, fg_origem,
>>  no_origem, historico, no_doc, vlr_doc, dt_usuinc, nm_usuinc,
>>  dt_usualt, nm_usualt,fg_origem_apto)
>>  VALUES (
>>  new.cd_fil,
>>  new.dt_pgto,
>>  'S',
>>  new.fg_tipo_pgto,
>>  'A',
>>  new.cd_titulo,
>>  new.historico,
>>  new.no_doc,
>>  new.vlr_pgto,
>>  new.dt_usuinc,
>>  new.nm_usuinc,
>>  new.dt_usualt,
>>  new.nm_usualt,
>>  new.fg_origem);
>>  RETURN NEW;
>>  END IF;
>>  RETURN NULL;
>>
>>  update contapag set
>>  fg_paga = 'S'
>>  where cd_titulo = NEW.cd_titulo;
>>
>> END;
>> $BODY$
>>   LANGUAGE plpgsql VOLATILE
>>   COST 100;
>> ALTER FUNCTION fluxo_caixa_contas_pag()
>>   OWNER TO postgres;
>>
>> O update está depois do RETURN, ou seja, não está sendo executado. Para
> que todas as operações sejam executadas, as mesmas devem estar antes do
> RETURN;
>
> Tome cuidado com RETURN NULL, pois se não me engano, o return null "NÃO"
> executa a operação a qual foi disparada a trigger.
>
> []s
> Danilo
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a