--- Em delphi-br@yahoogrupos.com.br, "Leonardo Anselmo" <[EMAIL PROTECTED]> escreveu > > Galera, > > Eu tinha um campo integer no banco firebird e precisei alterar pra varchar, mas ele nao deixou precisei dropar o campo e recrialo como varchar. Alguem sabe me dizer pq ? > > Valeu > Leonardo Anselmo > > [As partes desta mensagem que não continham texto foram removidas] >
Caro Leonardo, vc não pode mudar o type de um campo sem perder seus registros. Caso tivesse alterado somente o length(tamanho) do campo, certamente não precisaria de dropá-lo. Eu costumo nestes casos, criar um campo temporario já com o novo tipo desejado, faço um "bacalhau" com SQL mesmo dentro do banco preenchendo todos os registros do novo campo com o valor do campo antigo, utilizando fator de conversão. Depois dropo o antigo, crio um novo campo(que será o efetivo) faço a mesma operação setando o novo campo de todos os regitros com os valores do campo temporário que serviu de "backup" e depois deleto o temporário. Espero que tenha te ajudado. Rodrigo Kopke