sql >> Databasteknik >  >> RDS >> Oracle

Hur man ändrar datatyp i Oracle med befintliga rader i tabellen

Du kan inte.

Du kan dock skapa en ny kolumn med den nya datatypen, migrera data, släppa den gamla kolumnen och byta namn på den nya kolumnen. Något liknande

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;

Om du har kod som beror på positionen för kolumnen i tabellen (som du egentligen inte borde ha), kan du byta namn på tabellen och skapa en vy på tabellen med det ursprungliga namnet på tabellen som exponerar kolumnerna i tabellen. beställ din kod förväntas tills du kan fixa den buggykoden.



  1. SQL Transponera rader som kolumner

  2. MySQL COUNT() – Få antalet rader som ska returneras av en fråga

  3. 5 tecken på att du har vuxit ur Excel

  4. Ansluter till Vertica i IRI Workbench