sql >> Base de Datos >  >> RDS >> Oracle

Cómo modificar el tipo de datos en Oracle con filas existentes en la tabla

No puedes.

Sin embargo, puede crear una nueva columna con el nuevo tipo de datos, migrar los datos, eliminar la columna anterior y cambiar el nombre de la nueva columna. Algo como

ALTER TABLE table_name
  ADD( new_column_name varchar2(10) );

UPDATE table_name
   SET new_column_name = to_char(old_column_name, <<some format>>);

ALTER TABLE table_name
 DROP COLUMN old_column_name;

ALTER TABLE table_name
 RENAME COLUMN new_column_name TO old_coulumn_name;

Si tiene un código que depende de la posición de la columna en la tabla (que realmente no debería tener), puede cambiar el nombre de la tabla y crear una vista en la tabla con el nombre original de la tabla que expone las columnas en el pide tu código espera hasta que puedas corregir ese código defectuoso.