[firebase-br] Mudar campo float para decimal(15,2)...

Kleber Caneva kdcc em terra.com.br
Qui Jun 28 17:16:42 -03 2007


Ao invés de usar o Case tente com o Coalesce

UPDATE FATURAS SET PAGTO_AUX = CAST(COALESCE( PAGTO) AS DECIMAL(15,2))


[]´s

Kléber Caneva


----- Original Message ----- 
From: "Jhosef Marks" <jhosef em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, June 28, 2007 5:01 PM
Subject: [firebase-br] Mudar campo float para decimal(15,2)...


Galera to tentando mudar um campo do tipo float para decimal(15,2) mas nem
sempre da certo, dai fiz o seguinte...

ALTER TABLE FATURAS ADD PAGTO_AUX DECIMAL(15,2);

UPDATE FATURAS SET PAGTO_AUX =
    CASE
        WHEN (PAGTO IS NULL) THEN null
        ELSE CAST(PAGTO AS DECIMAL(15,2)) END;

ALTER TABLE FATURAS DROP PAGTO;

ALTER TABLE FATURAS ALTER PAGTO_AUX TO PAGTO;

Mas acontece q ta demorando quase 10 minutos para executar com uma tabela de
5000 registros...
Como posso fazer isso diminuir o tempo???

-- 
Jhosef Marks de Carvalho
Delphi Developer
Fone: +55 11 9453-6472
http://groups.google.com/group/soumaisdelphi
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa

Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 28/06/2007 / Versão: 
5.1.00/5063
Proteja o seu e-mail Terra: http://mail.terra.com.br/






Mais detalhes sobre a lista de discussão lista