Oracle
 sql >> Database >  >> RDS >> Oracle

Come modificare il tipo di dati in Oracle con le righe esistenti nella tabella

Non puoi.

È tuttavia possibile creare una nuova colonna con il nuovo tipo di dati, migrare i dati, eliminare la vecchia colonna e rinominare la nuova colonna. Qualcosa come

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;

Se hai del codice che dipende dalla posizione della colonna nella tabella (cosa che in realtà non dovresti avere), puoi rinominare la tabella e creare una vista sulla tabella con il nome originale della tabella che espone le colonne nella tabella ordina il tuo codice aspetta fino a quando non sarai in grado di correggere quel codice difettoso.