[firebase-br] Conversão de campo

Mário Reis mariodosreyx em gmail.com
Quarta Fevereiro 2 13:33:25 -03 2022


Existe sim.  Existirão diversas formas, eu costumo fazer assim:
1.º- Antes de mais nada faço um backup da base de dados;
2º- Desactivar todas as ligações das tabelas a ele referenciadas (foreing
Key ),
      melhor será mesmo listar (para a refazer mais tarde) e apagar cada
referência:
3.º- Criar um campo novo do tipo INTERGER com o nome xCODOPER;
4.º- Dar um update na tabela, assim
      update <tabela>
          SET CODOPER=cast(xCodOper as Integer)
     where ?!!!  --Não deve haver condição pois deve querer atualizar todos
os registos. Certo?;
     depois dê um commit e, verifique se ficou bem;
     ou em alternativa,
     experimente a dar o TIPO de CODOPER de CHAR(3) para INTERGER
     e veja o resultado, pois há interfaces de gestão do banco de dados que
conseguem fazê-lo de uma só vez;
    eu já consegui isso em mais do que uma vez, mas primeiro, tem que
garantir-se que a coluna não tem alfas mas só números.
    O mais provável é que lá por de trás isso seja feito por etapas;
5.º  se não der, então mate a coluna velha (drop CODOPER); dê um commit;
6.º tente renomear a coluna xCODOPER para CODOPER;
     Se der, está feito. Senão;
6.º  crie nova coluna CODOPER TYPE INTEGER
7.º  faça   update <tabela>
                  SET CODOPER=xCodOper;
                   commit;
É por aí. Disponha

Com os meus melhores cumprimentos
Mário Agostinho Reis
919262146

Esta mensagem contém informação de natureza confidencial e é
exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por engano,
receber este email agradecemos que não o copie nem o reenvie e que nos
notifique do ocorrido através do email de resposta.


Maciel Soncini Bueno via lista <lista em firebase.com.br> escreveu no dia
quarta, 2/02/2022 à(s) 11:29:

> Olá tudo bem com vocês?
>
> Tenho um campo tipo char(03) de nome CODOPER.
>
> Esse campo está presente em centenas de tabelas do meu banco.
>
> Os valores são numéricos, tipo 005, 010, 230, etc...
>
> Existe referência de foreing Key para esse campo em diversas tabelas.
>
> Preciso converter esse campo para o tipo integer.
>
> Existe alguma forma mais rápida converter esse campo em todas as tabelas e
> sem perder o conteúdo do mesmo?
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>


Mais detalhes sobre a lista de discussão lista