Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Cambiar el tipo de dato de una columna !!! (https://www.clubdelphi.com/foros/showthread.php?t=15116)

vpepen 11-10-2004 18:26:44

Cambiar el tipo de dato de una columna !!!
 
Hola Foro:

Quisiera saber si es posible modificar el tipo de dato de una columna en una tabla de una base de datos InterBase usando la opción 'Interactive SQL' del IBConsole.

He probado a agregar, renombar y borrar columna y me funciona, pero lo explicado arriba me está dando un poquito de dolor de cabeza.

Las gracias anticipadas,

Víctor.-

rafita 13-10-2004 13:28:12

Hola.
No tengo la respuesta a tu pregunta, pero te puedo dar una idea que en alguna ocasión me ha dado buenos resultados:

* Crea una nueva columna.
* Rellénala con los datos de la otra columna, pero conviertelos a tu nuevo tipo de datos.
* Si tienes algún problema, borra la columna nueva y repite el proceso hasta que obtengas lo que deseas.

* Cuando hayas convertido tus datos al nuevo formato borra la columna vieja y renombra la nueva.

Saludosssss

AMO 13-10-2004 18:18:45

Saludos

La instrucion va mas o menos asi:

Alter table nombre_tabla alter nombre_columna type nuevo_tipo

la instruccion la puedes consultar en la ayuda del ibconsole.

Espero te sirva

vpepen 14-10-2004 14:22:47

La opción de Rafita es buena, aunque quiero saber si existe la posibilidad de hacerlo con una sentencia para ello.

AMO, la forma en que dices que puede realizarse lanza el siguiente error:

Definición de la tabla:

CREATE TABLE X
(C VARCHAR(5));

Modificación del tipo de dato

ALTER TABLE X
ALTER C VARCHAR(15);

Error:

Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, char 22
VARCHAR
Statement: ALTER TABLE X ALTER C VARCHAR(15)


Las gracias anticipadas,

Víctor.-

AMO 14-10-2004 18:17:17

Saludos

En tu instruccion falto la palabra type. la instruccion debera ser:

alter table x alter c type varchar(15)

y funciona perfectamente (probado)


La franja horaria es GMT +2. Ahora son las 09:27:18.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi