[firebase-br] campo zerado - Parte II
Sandro Souza
escovadordebits em gmail.com
Sex Dez 5 15:59:55 -03 2008
Já viu algum dia uma Zicassaura Rex Tabajara Plus 2.0 Enhanced? Não? É só
brincar dessa forma. :D
2008/12/5 joao_jma <joao_jma em itelefonica.com.br>
> ajudou muito
>
> gostaria de perguntar
>
> criei um domínio com o tipo numeric(15,2)
>
> acha que se eu alterar os dominios dos campos pode dar zica tb?
>
> assim talvez:
>
> update RDB$RELATION_FIELDS set
> RDB$FIELD_SOURCE = 'VALOR_15_2' --> nome do domínio
> where (RDB$RELATION_NAME = 'CALC_HE') and
> RDB$FIELD_NAME IN ('PORC_SIND',
> 'SAL_REAL',
> 'SAL_CART',
> 'TOT_HR_R',
> 'TOT_HE_SR',
> 'TOT_HE_SC');
>
>
>
> Assinatura João M. de Amorim - Informática: Andreza Enxovais - Ibitinga/SP
> ((16) 3341-9000 È(16) 9239-0959
> ----- Original Message ----- From: "Sandro Souza" <
> escovadordebits em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Friday, December 05, 2008 2:31 PM
> Subject: Re: [firebase-br] campo zerado - Parte II
>
>
> Bom dia/tarde João.
>
> Ontem, eu te passei o seguinte comando:
>
> ALTER TABLE MOVIMENTACAO
> ALTER PROVENTOS TYPE DECIMAL(18,4),
> ALTER DESCONTOS TYPE DECIMAL(18,4);
>
> Mas testando aqui, realmente ocorreu o erro que você relatou.
>
> Então, a melhor solução é a do nosso amigo Gustavo Moda, que deixou bem
> detalhado o roteiro, que para esse seu caso da tabela CALC_HE, seria algo
> como:
>
> 1 - Incluindo os novos campos substitutos, já com os novos formatos:
>
> ALTER TABLE CALC_HE
> ADD NOVO_SAL_REAL NUMERIC(15,2),
> ADD NOVO_TOT_HR_R NUMERIC(15,2),
> ADD NOVO_TOT_HE_SR NUMERIC(15,2);
>
> 2 - Copiando e convertendo os valores do formato antigo para o novo:
>
> UPDATE CALC_HE SET
> NOVO_SAL_REAL = SAL_REAL,
> NOVO_TOT_HR_R = TOT_HR_R,
> NOVO_TOT_HE_SR = TOT_HE_SR;
>
> 3 - Excluindo os campos antigos:
>
> ALTER TABLE CALC_HE
> DROP SAL_REAL,
> DROP TOT_HR_R,
> DROP TOT_HE_SR;
>
> 4 - Renomeando os novos campos para os nomes originais:
>
> ALTER TABLE CALC_HE
> ALTER NOVO_SAL_REAL TO SAL_REAL,
> ALTER NOVO_TOT_HR_R TO TOT_HR_R,
> ALTER NOVO_TOT_HE_SR TO TOT_HE_SR;
>
> Pode testar esse aí, que funcionou aqui.
>
> Posso até estar enganado, mas acredito que, antes disso, seria melhor
> alterar o tipo desses campos de volta para FLOAT pelo IB Expert, já que ele
> não converteu realmente os valores, e apenas alterou a definição desses
> campos, o que deixa uma "bomba de efeito retardado" que estourará mais
> adiante.
>
> Espero ter ajudado mais que atrapalhado. :D
>
> 2008/12/5 joao_jma <joao_jma em itelefonica.com.br>
>
> Se o pessoal se lembra de ontem, resolveram meu problema, eu usava campo
>> Float ao invés de Numeric(15,2).
>>
>> Não me recordo quem, mas me passaram um código para alteração dos tipos
>> dos
>> campos, o que seria muito prático pra mim.
>> Segue abaixo o código:
>>
>> ALTER TABLE CALC_HE
>> ALTER SAL_REAL TYPE NUMERIC(15,2),
>> ALTER TOT_HR_R TYPE NUMERIC(15,2),
>> ALTER TOT_HE_SR TYPE NUMERIC(15,2);
>>
>> Quando executo esse comando, me retorna o seguinte erro:
>>
>> can't format message 13:393 -- message system code -4.
>> unsuccessful metadata update.
>> Cannot change datatype for SAL_REAL. Conversion from base type FLOAT to
>> BIGINT is not supported.
>>
>> Alguém pode me ajudar? Senão terei que alterar campo a campo na base de
>> dados... rs
>>
>> Abraços
>>
>> João M. de Amorim - Informática:
>> Andreza Enxovais - Ibitinga/SP
>> ((16) 3341-9000
>>
>> ______________________________________________
>> 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
>
>
> ______________________________________________
> 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
>
Mais detalhes sobre a lista de discussão lista