[firebase-br] RES: Ref.: Alterar tipo de campo

Carlos H. Cantu listas em warmboot.com.br
Sex Ago 10 21:29:41 -03 2012


Essa é uma ação perigosa, e dependendo da compatibilidade dos tipos de
dados envolvidos pode "corromper" a base.

[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br

MSS> Omar,

MSS> Após ter criado o novo domínio, basta mudar apenas o dominio deste campo via
MSS> comando:

MSS> update RDB$RELATION_FIELDS set
MSS> RDB$FIELD_SOURCE = 'D_DECIMAL14,6'
MSS> where (RDB$FIELD_NAME = 'ESTIMATIVA') and
MSS> ((RDB$RELATION_NAME = 'LICPRODUTO'));

MSS> Att,
MSS> Moacir


MSS> -----Mensagem original-----
MSS> De: lista-bounces em firebase.com.br
MSS> [mailto:lista-bounces em firebase.com.br] Em
MSS> nome de Omar Marques Haddad
MSS> Enviada em: sexta-feira, 10 de agosto de 2012 16:50
MSS> Para: FireBase
MSS> Assunto: [firebase-br] Ref.: Alterar tipo de campo

MSS> Boa tarde, Bros.

MSS> Estou com um campo do tipo NUMERIC. A tabela já está populada e preciso
MSS> mudar o tipo dele para ele usar um DOMAIN.

MSS> Só que ao tentar alterar o campo dando um duplo clique nele, ele não me
MSS> mostra o domain para eu inserir.

MSS> Agora, vem a questão:

MSS> ALTER TABLE LICPRODUTO
MSS> ADD ESTIMATIVA2 "D_DECIMAL14,6";

MSS> UPDATE LICPRODUTO
MSS> SET ESTIMATIVA2 = ESTIMATIVA;

MSS> ALTER TABLE LICPRODUTO DROP ESTIMATIVA;

MSS> ALTER TABLE LICPRODUTO ALTER ESTIMATIVA2 TO ESTIMATIVA;


MSS> No script acima, crio meu domain desejado com 6 decimais. Criou um campo
MSS> novo para abrigar os valores atuais.Mas ao tentar dropar o campo
MSS> ESTIMATIVA, ele reclama das dependencias deste campo.

MSS> Tem como eu desativar isto, para após o alter table, eu re-ativar ?

MSS> Abraço






Mais detalhes sobre a lista de discussão lista