Olá Marcelo, tente o CASE. Veja exemplo:

insert into 
          tab_log (log_campo_a, log_campo_b, log_campo_c) 
          values (
                       CASE WHE :new.campo_a = :old.campo_a then
                             null
                       ELSE
                              old.campo_a
                       END,
                       CASE WHE :new.campo_b = :old.campo_b then 
                             null
                       ELSE
                              old.campo_b
                       END,
                       CASE WHE :new.campo_c = :old.campo_c then 
                             null
                       ELSE
                              old.campo_c
                       END    
                      );
 __________________________________
Renato R. Ricci
Antes de imprimir, pense em sua responsabilidade e compromisso com o Meio 
Ambiente. O Futuro está em Nossas Mãos!




________________________________
De: Marcelo Florindo <[email protected]>
Para: Comunidade PostgreSQL Brasileira <[email protected]>
Enviadas: Segunda-feira, 13 de Dezembro de 2010 8:53:01
Assunto: [pgbr-geral] Salvar no log apenas os campos alterados

Colegas,

Como eu poderia fazer via trigger algo que salvasse em uma tabela
apenas os campos que eu alterei e não todos.

Deverei fazer algo como se new.campo<>old.campo então salve???

Obrigado a todos.

Att,

-- 
Marcelo
_______________________________________________
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