From: | Ricardo Fuentes Pereira <rfuentesp(at)gmail(dot)com> |
---|---|
To: | Eduardo Vázquez Rodríguez <evazquez(at)insys-corp(dot)com(dot)mx> |
Cc: | "''pgsql-es-ayuda(at)postgresql(dot)org' '" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Cambio de Tipo de Datos en una columna |
Date: | 2005-02-25 11:43:24 |
Message-ID: | 421F0F5C.6070504@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Eduardo Vázquez Rodríguez wrote:
>
>Sí de hecho ya está corriendo el UPDATE nombre_tabla SET campo_varchar = '0'
>WHERE campo_varchar = 'none'
>
>Lo que me hace falta hacer es lo del ALTER TABLE. No sé si alguipen de la
>lista haya cambiado de un varchar a un float
>
>
Estuve mirando la sintaxis de ALTER TABLE y me parece que no se puede
directamente cambiar el tipo de dato en una columna (leida rapida en
todo caso).
Lo que se me ocurre es que añadas una columna, ejecutes una sentencia
UPDATE donde haya un '0' en el otro campo y luego borres la columna con
el tipo de dato VARCHAR.
Claro, algunas ayuditas te tengo que dar en codigo ¿no?
Crear nuevo campo:
ALTER TABLE mi_tabla ADD COLUMN mi_campo_float FLOAT;
Sentencia UPDATE
UPDATE mi_tabla_float SET mi_campo_float = 0 WHERE mi_campo_varchar = '0'
y para borar la otra columna
ALTER TABLE mi_tabla DROP COLUMN mi_campo_varchar RESTRICT; (No se que
significa RESTRICT, lo saque del ejemplo de la doc. oficial)
y supongo que quieres que se llame = que la otra:
ALTER TABLE mi_tabla RENAME COLUMN mi_campo_float TO
como_quiero_que_se_llame;
Espero haber sido de ayuda
Salu2
From | Date | Subject | |
---|---|---|---|
Next Message | Fernando Aguada | 2005-02-25 12:09:22 | Validacion en un trigger |
Previous Message | Juanky Moral | 2005-02-25 08:56:22 | Re: Encoding por defecto?? |