Simples meu caro...

Vamos lá..

TG_OP - traz a definição de que ação disparou aquela trigger exemplo



AFTER INSERT OR UPDATE OR DELETE ON emp
    FOR EACH ROW EXECUTE PROCEDURE tg_fn_xpto();

A trigger acima invoca a função tg_fn_xpto() após um insert, update ou
delete então se dentre da função de trigger tivermos um controle especifico
para quando for insert, update ou delete por exemplo teríamos uma função de
nome tb_fn_xpto() que faz auditoria, lembrando que quando os dados são
removidos precisamos guardar como eles existiam, então segue exemplo:


CREATE OR REPLACE FUNCTION tg_fn_xpto() RETURNS TRIGGER AS $fn_xpto$
    BEGIN
        IF (TG_OP = 'DELETE') THEN
            INSERT INTO tabela_xpto_auditada SELECT 'D', now(), user, OLD.*;
            RETURN OLD;
        ELSIF (TG_OP = 'UPDATE') THEN
            INSERT INTO tabela_xpto_auditada SELECT 'U', now(), user, NEW.*;
            RETURN NEW;
        ELSIF (TG_OP = 'INSERT') THEN
            INSERT INTO tabela_xpto_auditada SELECT 'I', now(), user, NEW.*;
            RETURN NEW;
        END IF;
        RETURN NULL;
    END;
$fn_xpto$ LANGUAGE plpgsql;



IF (TG_OP = 'DELETE') THEN
            INSERT INTO emp_audit SELECT 'D', now(), user, OLD.*;
            RETURN OLD;
        ELSIF (TG_OP = 'UPDATE') THEN
            INSERT INTO emp_audit SELECT 'U', now(), user, NEW.*;
            RETURN NEW;
        ELSIF (TG_OP = 'INSERT') THEN





--
T.'.A.'.F.'.,
Gerdan Rezende dos Santos

2015-06-16 10:26 GMT-03:00 Matheus de Oliveira <[email protected]>:

>
> On Tue, Jun 16, 2015 at 9:35 AM, Matheus Ferreira <
> [email protected]> wrote:
>
>> Isso mesmo Matheus a variável do pl/pgSQL
>
>
> OK. E qual sua dúvida? A pergunta original não faz o menor sentido pra mim.
>
> Atenciosamente,
> --
> Matheus de Oliveira
>
>
>
> _______________________________________________
> 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