Em sexta-feira, 18 de novembro de 2011 15:06:44, Leonardo Cezar escreveu: > 2011/11/18 Deusimar Ferreira<[email protected]>: >> Boa tarde a todos, >> Estamos criando uma função de gatilho para gravar histórico de alterações de >> algumas tabelas no banco de dados, mais nós deparamos com um problema que >> não estamos conseguindo solução. >> Fizemos um SQL para pegar dinamicamente as colunas da tabela para que a >> função seja o mais genérica possível a fim de utiliza-lá em qualquer tabela, >> até ae tudo bem. O problema surgiu quando tentamos recuperar o valor OLD >> usando a coluna dinâmica que foi encontrada pelo SQL Ex.: OLD || '.' || >> record.coluna, fizemos diversos teste e pesquisas mais ainda não obtivemos >> sucesso. > > http://postgreslogia.wordpress.com/2008/02/08/uma-palavra-sobre-instrucoes-dinamicas-plpgsql-e-plperl/ > > -Leo
Quando desenvolvi algo similar, quando criavamos a tabela de log utilizamos o like, colocando uma cópia exata de todos os os campos do alvo na tabela de log. Algo assim: CREATE TABLE usuarios ( nome primary key, email varchar(100) not null); CREATE TABLE usuarios_log ( id_log serial primary key, data_hora timestamp default now(), alteracao varchar(1) default 'I', usuario_db varchar(200) not null default current_user(), -- outros campos de log) like usuarios Dá pra fazer isso programaticamente... _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
