[firebase-br] Mudar tamanho campo numérico

andre conrado acf.andre em gmail.com
Seg Jul 11 17:22:48 -03 2011


Olá amigos!

Eu estava para posta esse mesmo assunto, mas antes resolvi pesquisar e
encontrei esta thread. Mas infelizmente ninguém respondeu ao nosso
amigo Samuel. Então tomarei a liberdade de humildemente questioná-los.

Estou com FB 2.5 e WINXP.

Tenho algumas tabelas as quais preciso alterar alguns campos de
NUMERIC(18,2) para NUMERIC(18,4).

Tentei executar o comando:

ALTER TABLE FOLHA ALTER SALARIO TYPE NUMERIC(18,4).

Mas ocorre o erro:

  unsuccessful metadata update
  New scale specified for column FERIAS must be at most 2.


A tabela acima está vazia e o campo não tem nenhuma dependência.

Até agora a única forma que consegui resolver foi 'DROPA' o campo da
tabela e 'ADD' novamente com a precisão desejada.

O problema que são várias tabelas e vários campos. Alguns estão com
dependência, mas isso eu posso 'comentar' as SP e efetuar as mudanças.

Alguém pode me ajudar?


Em 26/05/11, Eduardo Jedliczka<edujed em gmail.com> escreveu:
> Este é um problema como o DELPHI mapeia internamente os campos do banco de
> dados, pois o currency tem EXATAMENTE 4 casas decimais.
>
> abraço,
>
> ==========================
> Eduardo Jedliczka
> Apucarana - Pr
> ==========================
>
>
>
> Em 26 de maio de 2011 09:33, Samuel M. Basso
> <samuelbasso em gmail.com>escreveu:
>
>> Bom dia.
>>
>> Alterando aos poucos os dois numeradores ele aceita. Conforme exemplo
>> abaixo:
>>
>> ALTER TABLE ITEM_ENTRADA ALTER VLR_UNIT TYPE NUMERIC(15,6);
>>
>> Porem tentei alterar no sistema os campos com essa nova precisão porem ao
>> compilar todo lugar onde eles estavam sendo usado esta dando erro.
>>
>> [Error] UEntrada.pas(1549): Incompatible types: 'Currency' and 'TBcd'
>> [Error] UEntrada.pas(1549): Incompatible types: 'Float' and 'TBcd'
>>
>>
>> Acredito que ao alterar a precisão ele mudou o tipo de campo, assim onde
>> estava sendo usado está dando problemas.
>>
>>
>> 2011/5/26 Hugo Jose de Sousa <newprojectsystem em gmail.com>
>>
>> > Mas se por acaso você usar o IBexpert é só entrar no campo e editar .
>> >
>> > o script fica tipo assim :
>> >
>> > update RDB$FIELDS set
>> > RDB$FIELD_SCALE = -10
>> > where RDB$FIELD_NAME = 'RDB$2681'
>> > ______________________________________________
>> > 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://firebase.com.br/pesquisa
>> >
>>
>>
>>
>> --
>>
>>
>> Atenciosamente,
>>
>> *Samuel M. Basso*
>> Fone: (54) 3462-5522
>> Cel: (54) 8135-3723
>> Skype: samuelbasso
>> E-mail/MSN: samuelbasso em gmail.com
>> Web site: www.otimizy.com.br
>> ______________________________________________
>> 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://firebase.com.br/pesquisa
>>
> ______________________________________________
> 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://firebase.com.br/pesquisa
>


-- 
Um Abraço,
André Conrado.

055 21 9176-7013 - Claro




Mais detalhes sobre a lista de discussão lista