Oracle - Convertir tipo Long a Varchar2(50)

 
Vista:

Convertir tipo Long a Varchar2(50)

Publicado por Francisco Galdamez (1 intervención) el 01/03/2002 16:36:26
Me pueden ayudar como convertir un campo tipo
LONG a VARCHAR2(50).
ya que tengo problemas al querer generar un archivo texto.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Convertir tipo Long a Varchar2(50)

Publicado por juan carlos zorzi (6 intervenciones) el 01/03/2002 17:10:22
alter table <nomble_columna> modify id varchar(50);
commit;

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Convertir tipo Long a Varchar2(50)

Publicado por Adolfo Monterroso (4 intervenciones) el 08/03/2002 11:58:29
Si en la tabla donde esta la columna de tipo long hay por lo menos 1 fila con datos en esa columna, no te permitira cambiar el tipo de dato a varchar2. Lo que podrias hacer, es crear otra tabla temporal en base a la que deseas cambiar.

En la tabla temporal inserta todos los reigstros de la que queres cambiar, es posible que no te deje hacerlo con un (INSERT INTO ... SELECT...) por lo que tendras que hacerlo creando un cursor e insertar fila, por fila.

una vez que tengas tu tabla temporal con la misma informacion que la tabla que deseas cambiar, actualiza en esta ultima, la columna de tipo long y la volves nula, al estar nula esta columna, ya podras cambiar el tipo a varchar2.

una vez cambiado el tipo deberas de actualizar en base a la temporal, pero solo el campo que cambiaste, nuevamente si no lo podes hacer con un (UPDATE....) tendras que utilizar un cursor y actualizar una por una.

Si la tabla no contiene datos, si te permitira cambiar el tipo a varchar2 con el comando ALTER TABLE.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar