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

Sådan ændres datatypen i Oracle med eksisterende rækker i tabellen

Det kan du ikke.

Du kan dog oprette en ny kolonne med den nye datatype, migrere dataene, slippe den gamle kolonne og omdøbe den nye kolonne. Noget lignende

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;

Hvis du har kode, der afhænger af kolonnens placering i tabellen (hvilket du egentlig ikke burde have), kan du omdøbe tabellen og oprette en visning på tabellen med det oprindelige navn på tabellen, der afslører kolonnerne i bestil din kode forventer, indtil du kan rette den buggy-kode.



  1. Sådan fungerer INTERSECT i PostgreSQL

  2. MySQL:Sådan tillader du fjernforbindelse til mysql

  3. IDLE timeout parameter i Oracle

  4. Oracle PL/SQL:Eksporter data fra en tabel til CSV