--- 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



Responder a