[firebase-br] Como Alterar campo Numérico no Firebird 3

Carlos H. Cantu listas em warmboot.com.br
Sáb Jun 25 17:56:08 -03 2016


Não é mais permitido mexer nas tabelas de sistema no FB 3. Agora a
maioria (senão todas) as operações que antes exigiam a direta
manipulação das tabelas de sistema, podem ser feitas de forma
segura/oficial através de comandos SQL.

Quanto a mudar a escala dos campos, deixará apenas você diminuir o
numero de casas decimais, aumentar não. A solução é criar um campo
temporário, copiar os valores pra ele, apagar o campo antigo e
renomear o campo temporário.

[]s
Carlos H. Cantu
eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br

Lf> Pessoal até o Firebird 2.5 eu usava a seguinte função para
Lf> alterar campo Numéricos no firebird em Domains
Lf>    update RDB$FIELDS set RDB$FIELD_SCALE = -3   where RDB$FIELD_NAME = 'Quant_Vendas'
Lf>  Porém agora no firebird 3 não pode mais alterar as tabelas de
Lf> sistema eles não deveriam ter feito isso a não ser que tem outra
Lf> forma de fazer isso pois usando assim
Lf> ALTER DOMAIN "Quant_Vendas"TYPE NUMERIC(13, 3)
Lf> Não é possível dá erro  "New scale specified for column "
Lf> Será que existe outra forma ?
Lf> Pois tenho uma situação em meu ERP que se faz necessário mudar os
Lf> Domains de valores e quantidade, mudar o decimal tanto para cima
Lf> como para baixoe devido esse bloqueio não vou poder migrar um de meus sistemas.

Lf>     Em Sábado, 25 de Junho de 2016 16:27, Luciano franca
Lf> <luapfirebird em yahoo.com.br> escreveu:
Lf>  

Lf>  Pessoal até o Firebird 2.5 eu usava a seguinte função para
Lf> alterar campo Numéricos no firebird em Domains
Lf>    update RDB$FIELDS set RDB$FIELD_SCALE = -3   where RDB$FIELD_NAME = 'Quant_Vendas'
Lf>  Porém agora no firebird 3 não pode mais alterar as tabelas de
Lf> sistema eles não deveriam ter feito isso a não ser que tem outra
Lf> forma de fazer isso pois usando assim
Lf> ALTER DOMAIN "Quant_Vendas"TYPE NUMERIC(13, 3)
Lf> Não é possível dá erro  "New scale specified for column "
Lf> Será que existe outra forma ?
Lf> Pois tenho uma situação em meu ERP que se faz necessário mudar os
Lf> Domains de valores e quantidade, mudar o decimal tanto para cima
Lf> como para baixoe devido esse bloqueio não vou poder migrar um de meus sistemas.




Lf>   
Lf> ______________________________________________
Lf> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Lf> Para saber como gerenciar/excluir seu cadastro na lista, use:
Lf> http://www.firebase.com.br/fb/artigo.php?id=1107
Lf> Para consultar mensagens antigas:
Lf> http://www.firebase.com.br/pesquisa_lista.html





Mais detalhes sobre a lista de discussão lista