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 teria a seguinte forma:
id = 10
cnpj = 1245678912
data = 15/10/2010
descricao = teste de descricao
Eu imaginei algo assim
FOR x IN [b]quantidade de campos[/b]
If new.campo <> old.campo and tipo = 'update'
svariavel = nome do campo || ' = ' || old.campo || ' / ' || new.campo || [b]troca de linha[/b]
else
svariavel = nome do campo || ' = ' || new.campo || [b]troca de linha[/b]
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 faz\er o IF e as atribuições à variavel.
Alguém tem algo assim pronto ou que saiba como fazer para me ajudar?
Pergunta
Roberto Gugisch
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 teria a seguinte forma:
id = 10
cnpj = 1245678912
data = 15/10/2010
descricao = teste de descricao
Eu imaginei algo assim
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 faz\er o IF e as atribuições à variavel.
Alguém tem algo assim pronto ou que saiba como fazer para me ajudar?
Desde já agradeço a todos!
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.