Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Migrar un tipo de dato Long Raw en Oracle

Estas en el tema de Migrar un tipo de dato Long Raw en Oracle en el foro de Bases de Datos General en Foros del Web. Yo tengo una tabla en la cual un campo su tipo de dato es long raw (para guardar foto), ahora, cuando yo quiero migrar esa ...
  #1 (permalink)  
Antiguo 18/12/2002, 11:10
 
Fecha de Ingreso: diciembre-2002
Ubicación: Lima
Mensajes: 3
Antigüedad: 21 años, 4 meses
Puntos: 0
Migrar un tipo de dato Long Raw en Oracle

Yo tengo una tabla en la cual un campo su tipo de dato es long raw (para guardar foto), ahora, cuando yo quiero migrar esa tabla de la BD de donde esta a otra mediante un insert select, no me permite por el tipo de dato especificado arriba, tampoco puedo crear los script por que me jalan valores nulos de ese campo.
Existe una forma de poder migrar ese tipo de dato de una BD a otra BD?
  #2 (permalink)  
Antiguo 19/12/2002, 11:29
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 4 meses
Puntos: 11
Es muy sencillo, el la nueva estructura el campo long raw lo debes dejar chequedao como "default null". Luego insertas todos los campos exceptuando el LOB.

Ahora ya tienes las dos bases pero necesitas actualizar el Lob, asi que simplemente has un UPDATE de una base a otra.

ej:
declare
cursor c_old_table is
select old_blob from old_table;

begin
for j in c_old_table loop

Update new_table
set new_blob = j.old_blob
where new_pk = j.old_pk;
end loop;
end;


Si tienes algun problema me avisas
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #3 (permalink)  
Antiguo 02/07/2010, 12:28
 
Fecha de Ingreso: noviembre-2004
Mensajes: 2
Antigüedad: 19 años, 5 meses
Puntos: 0
Exclamación Respuesta: Migrar un tipo de dato Long Raw en Oracle

Yo cree una nueva tabla con el tipo de campo BLOB y la vieja tabla tiene la columna de tipo RAW, ya pasé todos los datos sólo me falta esta columna, pero a la hora de realizar el insert me manda el error:
ORA-00997: illegal use of LONG datatype.

El insert es algo sencillo:
insert into miesquema.nuevatablai(data)
select data from miesquema.viejatabla
where fileid=1095;

Última edición por jorge_fos; 02/07/2010 a las 12:39
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:04.