Oracle - urgente problema con tipo de dato long

 
Vista:

urgente problema con tipo de dato long

Publicado por CAROLINA (10 intervenciones) el 17/11/2006 16:23:42
buenos dias : tengo un problema grande, debo buscar un a cadena dentro de un tipo de dato long pero estos no me dejan utilizar funciones, no se como sustraer la informacion dentro de estos campos.

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:urgente problema con tipo de dato long

Publicado por mad (88 intervenciones) el 18/11/2006 11:52:59
Se trata de un tipo de datos que actualmente se mantiene por compatibilidad. Se
recomienda encarecidamente utilizar en su lugar el tipo CLOB. En cualquier caso este tipo permite almacenar textos de hasta 2 GB de tamaño.
Pero no puede formar clave, ni índice, ni ser parte de la cláusula WHERE, ni GROUP BY,
ni SELECT con DISTINCT, ni pueden ser UNIQUE y sólo puede haber un campo de este
tipo en una misma tabla entre otras limitaciones.
Si puedes, cambia el tipo LONG por VARCHAR2(4000), con lo que podras buscar cadenas dentro del campo.
Espero te sirva.
Salu2.
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:urgente problema con tipo de dato long

Publicado por Miguel Eduardo (66 intervenciones) el 19/11/2006 03:10:24
Que tal.

Hace dias se me presento el mismo problema y creo que no existe forma de castear long a varchar2. Si consigues la manera me gustaria que la escribieras en este foro.

Saludos.
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:urgente problema con tipo de dato long

Publicado por mad (88 intervenciones) el 19/11/2006 11:20:25
La unica manera de cambiar el tipo del campo de Long a Varchar2 es creando una tabla temporal y migrar a ella los datos, pasando los de tipo Long a Varchar2, siempre que la longitud de los datos no supere el máximo que soporta el tipo Varchar2 , que es de 4000.
Esto lo puedes hacer con un Script, una vez volcados todos los datos a la tabla temporal hacer un drop sobre la original y un alter table para cambiar el nombre de la temporal por el que tenia la original.

Si no en la tabla original no hay ningun dato en el campo de tipo Long, basta con un alter table para cambiar el tipo del campo.

Salu2.
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

solucion

Publicado por CAROLINA (10 intervenciones) el 21/11/2006 18:21:06
Bueno muchachos muchas gracias por sus recomendaciones, son muy amables , probando cosas, ya solucione el impace,
los tipos de datos long los converti a lob con la funcion to_lob() y aqui ya los manejo con el paquete DBMS_LOB y sus subprogramas como el INSTR o SUBSTR que se comportan igual que estas funciones.

muchas gracias.

Carolina
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