Oracle - Modificar Campo de Tabla que tiene datos

 
Vista:
Imágen de perfil de Byron
Val: 1
Ha aumentado su posición en 5 puestos en Oracle (en relación al último mes)
Gráfica de Oracle

Modificar Campo de Tabla que tiene datos

Publicado por Byron (13 intervenciones) el 27/09/2013 19:50:17
Buenos dìas me podrìan ayudar tengo una tabla llamada CXP_PROVEEDORES y el campo que necesito modificar es :
DES_FACTURA varchar2(13) A DES_FACTURA varchar2(20)
HAS_FACTURA varchar2(13) A HAS_FACTURA varchar2(20)
ES DECIR NECESITO MODIFICAR LA LONGITUD DEL CAMPO E 13 A 20
El problema es que obviamente esta tabla esta con datos por lo cual no puedo usar el ALTER(MODIFY) hay alguna manera de poder alterar el campo sin borrar la tabla?????
Ya que como comprenderán la tabla CXP_PROVEEDORES esta asociada con otras tablas de transacciones....

Es posible hacerlo o que pasos me tocaría seguir????????

Les agradecería mucho la ayuda por favor
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
sin imagen de perfil

Modificar Campo de Tabla que tiene datos

Publicado por Miguel (8 intervenciones) el 28/09/2013 19:04:24
Hola,
Así a vuelo de pájaro se me ocurre que puedes crear dos columnas nuevas en la tabla, con el objetivo de respaldar la info,
Des factura resp
Has factura resp

Luego dejas en null las columnas a modificar y les cambias el tipo,

Finalmente realizas el update de la información desde las columnas de respaldo y las eliminas,

Eso, saludos,
Msm
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

Modificar Campo de Tabla que tiene datos

Publicado por luis pablo (235 intervenciones) el 29/09/2013 04:55:45
Fácil, con lo siguiente:

Alter table CXP_PROVEEDORES modify DES_FACTURA varchar2(20);

No deberías tener problemas, aun así la tabla tenga datos.

Mencionas, que "como comprenderán la tabla esta relacionada con otras" eso no entiendo?

Puedes mencionar que mensaje de error te aparece al realizar el "Alter table" para poder orientarte.

Espero tu respuesta.

Saludos

Luis Pablo
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
Imágen de perfil de Byron
Val: 1
Ha aumentado su posición en 5 puestos en Oracle (en relación al último mes)
Gráfica de Oracle

Modificar Campo de Tabla que tiene datos

Publicado por Byron (13 intervenciones) el 15/10/2013 19:50:38
Gracias por las sugerencias ... me resulto de maravilla
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
sin imagen de perfil

Modificar Campo de Tabla que tiene datos

Publicado por Alixandro (63 intervenciones) el 03/10/2013 03:24:07
Bayron, según los que comenta, la alteracuon o resize de un campo en Oracle no debes darte problemas siempre y cuando sea Asia arriba y al mismo tipo de dato que tiene actualmente. Solo te dará el mensaje siempre y cuando este cambiando el tipo de datos, por ejemplo de varchar a number, a blob, etc y la columna tenga datos, o este alterando hacia atrás, ejemplo, number(20) a number(15) o varchar2 (30) a varchar2 (20) y la columna tiene datos. No importa si la tabla tiene datos, si la columna esta vacía te permite hacerle la alteración que quiera.
Sintaxis alter table nombretabla modify nombrecampo tipo o tipo(n)
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