2012/9/20 Éverton Bueno Lima <[email protected]>

> Blz pessoal,****
>
> ** **
>
> Sou novo com postgres e estou querendo tentar resolver um problema que
> estou tendo. Em todas as tabelas do meu sistema tenho dois campos
> (Data_Cadastro, Data_Alteracao), quero ver com vocês se tem como criar um
> trigger que todos poderiam utilizar, a função que ela iria executar é no
> Insert inserir a data de cadastro atual, e data_alteracao toda vez que
> tiver alteração ela atualizar a data de alteração.****
>
> ** **
>
> **
>

É só criar uma função mais genérica:

CREATE OR REPLACE FUNCTION set_data_cadalt()
RETURNS TRIGGER
LANGUAGE plpgsql VOLATILE
AS $$
BEGIN
    IF (TG_OP == 'INSERT') THEN
        new.data_cadastro = now();
    ELSE
        new.data_alteracao = now();
    END IF;
    RETURN new;
END;
$$;


E, criar as triggers para cada tabela que tenha data_cadastro e
data_alteracao:

CREATE TRIGGER tg_set_data_cadalt
BEFORE INSERT OR UPDATE ON *sua_tabela*
**FOR EACH ROW EXECUTE PROCEDURE set_data_cadal();

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados PostgreSQL
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a