Em 19 de abril de 2010 21:39, Wagner Santos <[email protected]> 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
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral