Em 19 de abril de 2010 21:39, Wagner Santos <wagner.gsan...@gmail.com> escreveu:
> Obrigado a todos pela ajuda...
> O que quero é algo bem simples:
> Todas as minhas tabelas (nao sei se é a melhor forma mas já me passaram
> assim) tem um campo data e usuario, a ideia é que essa informação seja
> preenchida com quem inseriu a informação ou com quem alterou a informação e
> a data dessa modificação.
> Imagino que seja bem simples, e próximo do que estou fazendo. O problema é o
> típico de empresas do governo, não colocam os especialistas certos para
> fazer o trabalho (eu programa em java, não sei muito sobre triggers).
> Novamente, agradeço a todos.
>


Para este caso específico (apenas INSERT e UPDATE) você pode utilizar
uma trigger BEFORE.
Algo do tipo:
CREATE OR REPLACE FUNCTION process_tb_audit()
  RETURNS trigger AS
$BODY$
    BEGIN
        NEW.data := CURRENT_DATE;
        NEW.usuario := CURRENT_USER;
        RETURN NEW;
    END;
$BODY$
LANGUAGE 'plpgsql';

CREATE TRIGGER nome_da_trigger BEFORE INSERT OR DELETE
    ON sua_tabela FOR EACH ROW
    EXECUTE PROCEDURE process_tb_audit;

Osvaldo
PS.: Creio que seria melhor dar uma repensada em seu modelo. Veja as
sugestões apresentadas.
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Reply via email to