Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So ändern Sie den Datentyp in Oracle mit vorhandenen Zeilen in der Tabelle

Das kannst du nicht.

Sie können jedoch eine neue Spalte mit dem neuen Datentyp erstellen, die Daten migrieren, die alte Spalte löschen und die neue Spalte umbenennen. So etwas wie

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;

Wenn Sie Code haben, der von der Position der Spalte in der Tabelle abhängt (was Sie wirklich nicht haben sollten), könnten Sie die Tabelle umbenennen und eine Ansicht für die Tabelle mit dem ursprünglichen Namen der Tabelle erstellen, die die Spalten in der Tabelle verfügbar macht Bestellen Sie Ihren Code erwartet, bis Sie diesen fehlerhaften Code beheben können.