sql >> Database >  >> RDS >> Oracle

Hoe het gegevenstype in Oracle te wijzigen met bestaande rijen in de tabel?

Dat kan niet.

U kunt echter een nieuwe kolom maken met het nieuwe gegevenstype, de gegevens migreren, de oude kolom verwijderen en de naam van de nieuwe kolom wijzigen. Iets als

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;

Als u code hebt die afhangt van de positie van de kolom in de tabel (wat u eigenlijk niet zou moeten hebben), kunt u de tabel een andere naam geven en een weergave op de tabel maken met de oorspronkelijke naam van de tabel die de kolommen in de tabel blootlegt. bestel je code verwacht totdat je die buggy-code kunt repareren.



  1. Het referentiegegevenspatroon:uitbreidbaar en flexibel

  2. Hoe privileges te beheren met rollen in MySQL

  3. Hoe zorgen dat gegevens niet worden gesorteerd?

  4. Zal een SQL Server-taak een geplande uitvoering overslaan als deze al actief is?