GARANTIR DESCONTO

Fórum Criação de um Histórico de Alterações (log das tabelas) #401206

17/05/2011

0

Criei uma tabela chama histórico com a seguinte estrutura:

data (timestamp) - data e hora
login (varchar 10) - login do usuário
tabela (varchar 20) - nome da tabela
id (integer) - ID do registro
tipo (varchar 10) - tipo (insert/delete/update)
conteudo (varchar 0) - conteudo do registro

o que eu gostaria é de um loop com os campos para preenchimento do campo conteudo.

Esse campo CONTEUDO teria a seguinte forma:
  id = 10
  cnpj = 1245678912
  data = 15/10/2010
  descricao = teste de descricao


Eu imaginei algo assim

FOR x IN  quantidade de campos
  If new.campo <> old.campo and tipo = 'update'
     svariavel = nome do campo || ' = ' || old.campo || ' / ' || new.campo || troca de linha
  else
     svariavel = nome do campo || ' = ' || new.campo || troca de linha
  end if
  x = x + 1
end loop

INSERT INTO historico 
  (data, login, tabela, id, tipo, conteudo) 
VALUES
  (now(), new.login, tabela, new.id, new.tipo, sVariavel); 



Só que não tenho nem idéia de como pegar a quantidade de campos nem de compará-la com o x do FOR, nem como fazer a comparação do IF nem as atribuições à variável.

É meu primeiro programa em PGSQL e estou apanhando muito com isso!

Alguém tem algo assim pronto ou que saiba como fazer para me ajudar?

Desde já agradeço a todos!


Roberto Gugisch

Roberto Gugisch

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar