[firebase-br] inserir dados em tabela automaticamente

Paulo Casagrande paulo em sjudas.com.br
Qui Out 18 17:13:41 -03 2007


Jeferson,

1) A principio eu pensei que você gravava
cada campo com sendo um registro da tabela de log!

Tipo:

( USUARIO, DATA_HORA, TABELA, CAMPO, OPERACAO, ANTERIOR, ALTERADO )

2) Em procedimentos que são automatizados,
você registra o nome do usuário ou registra que foi o
sistema que gerou a alteração ?

Ex: Um procedimento de limpeza de registros antigos.


Obrigado


>> - E como fica o desempenho ?
> 
> Para maioria das operações, por exemplo a inclusão de um registro em um 
> cadastro ou movimentaçõ, o tempo gasto para gravação do log é 
> irrelevante. Em operações em lote, onde milhares de registros são 
> editados em sequência há sim uma queda de desempenho, mas não tão grande 
> a ponto de se tornar um incômodo para mim, ou para os usuários da aplicação.
> No meu caso são pouquíssimas situações as situações em que mais do que 
> uma centena de registros são editados em sequência.
> 
> 
>> - Cada campo 1 por 1 ?
> 
> Sim. A trigger compara os valores de cada campo, e se decidir que ele 
> deve ser registrado no log, um procedimento armazenado no banco é 
> acionado com a tarefa única de inserir um único registro na tabela de 
> logs de campos, recebendo como parâmetro, entre outras informações, o 
> nome do campo a ser gravado.
> 
> 
>> - Em que formato são gravadas as informações,
>> no formato original do campo ou é feito um cast ?
> 
> Todos os dados são convertidos para 
> varchar(TAMANHO_DO_CAMPO_DE_VALOR_DA_TABELA_DE_LOGS_DE_CAMPOS), exceto 
> blobs, que são gravados em seu formato original.
> 
> 
> Abraço!
> Jeferson Oliveira





Mais detalhes sobre a lista de discussão lista