[firebase-br] Update em campo errado
    Felipe Giotto 
    felipe em metasoftware.com.br
       
    Qui Jan  5 17:02:22 -03 2006
    
    
  
Olá, amigos da Firebase!!
Após retornar de férias (ah, como a praia é maravilhosa!!! :D) e chegar 
na empresa, já me deparei com um pepino que não compreendi!!
Nosso sistema possui uma tabela que armazena as contas a receber e o 
histórico das vendas dos clientes. Dentre outros, esta tabela possui os 
campos CODCLIENTE e CODUSUARIO e TOTALVENDA.
Em uma das atualizações, precisamos alterar um pouco a estrutura e criar 
um campo extra que, retroativamente, iria receber o mesmo valor do campo 
CODUSUARIO. Para a atualização ser realizada, os comandos a seguir foram 
executados:
(Transação Iniciada)
SQL1: ALTER TABLE MOVIMENTOCLIENTE ADD CODUSUARIOBAIXOU INTEGER
SQL2: UPDATE MOVIMENTOCLIENTE SET CODUSUARIOBAIXOU=CODUSUARIO
(Commit)
Na maioria dos casos, tudo funcionou corretamente. Porém, em um de 
nossos clientes, ao invés do SQL2 alterar o campo CODUSUARIOBAIXOU, o 
campos CODCLIENTE que foi alterado!! O update fez com que o campo 
CODUSUARIO fosse gravado no campo CODCLIENTE da tabela!! Em outro 
cliente, o campo TOTALVENDA é que recebeu o valor do campo CODUSUARIO!!!
Existe alguma falha do Firebird que faça com que isso aconteça?? Em um 
dos casos, pudemos recuperar o banco original e, através do Validate do 
IBOConsole, descobri que o banco estava corrompido... Agora eu não sei 
se essa foi a única razão do problema ter acontecido e também não sei 
como prever problemas como este!! Algum colega tem alguma idéia??
Desde já agradeço,
-- 
Felipe Luiz Christófolli Giotto
    
    
Mais detalhes sobre a lista de discussão lista