update read leer hugeclob example ejemplo dbms_lob convert change sql oracle oracle10g

sql - read - Cómo cambiar la columna varchar a clob en oráculo



read hugeclob oracle (4)

Tengo un detalle de columna diseñado como varchar en Oracle DB, este DB se está utilizando ahora para los clientes y algunas filas ya tienen datos almacenados.

Ahora quiero cambiar los detalles de la columna a una columna de Clob. ¿Cuál es una forma inteligente de lograr esto?


  1. Agregue una columna clob a la mesa
  2. actualizar la columna de clob con los valores de la columna varchar
  3. drop varchar column
  4. cambiar el nombre de la columna de clob al nombre de columnas varchar

(como la respuesta anterior) y aquí está el código:

ALTER TABLE atable ADD (tmpdetails CLOB); UPDATE atable SET tmpdetails=details; COMMIT; ALTER TABLE atable DROP COLUMN details; ALTER TABLE atable RENAME COLUMN tmpdetails TO details;



Pero esto no mantendrá la posición de tu columna. Moverá tu columna al final de la tabla. Entonces, si desea mantener la posición de su columna también, siga estos pasos.

alter table atable add (tempdetails varchar2(4000)); update atable set tempdetails = details; update atable set details = null; -- this is necessary to change data type alter table atable modify details long; -- this is required because you can not change directly to clob. alter table atable modify details clob; update atable set details=tempdetails; alter table atable drop column tempdetails;

Esta es la forma en que mantendrá los datos y la posición de su columna intactos incluso después de cambiar el tipo de datos. Para obtener información detallada con el ejemplo, consulte aquí: http://www.oraclebin.com/2012/12/how-to-change-varchar2-to-clob-datatype.html