Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak zmodyfikować typ danych w Oracle z istniejącymi wierszami w tabeli?

Nie możesz.

Możesz jednak utworzyć nową kolumnę z nowym typem danych, przeprowadzić migrację danych, usunąć starą kolumnę i zmienić nazwę nowej kolumny. Coś jak

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;

Jeśli masz kod, który zależy od pozycji kolumny w tabeli (czego naprawdę nie powinieneś), możesz zmienić nazwę tabeli i utworzyć widok tabeli z oryginalną nazwą tabeli, która uwidacznia kolumny w tabeli zamów kod, którego oczekuje, dopóki nie naprawisz tego błędnego kodu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Transpozycja wybranych wyników za pomocą Oracle

  2. Widok zmaterializowany a tabele:jakie są zalety?

  3. Jak zadeklarować i wyświetlić zmienną w Oracle

  4. Czy instrukcje DDL zawsze dają niejawne zatwierdzenie, czy można uzyskać niejawne wycofanie?

  5. zwróć zbiór wyników z funkcji