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

Ændring af datatype for en kolonne, der refereres til af andre tabeller

Nej, der er ingen enkel måde at gøre dette på. Forudsat at der er data i begge tabeller, skal du

  • Tilføj en ny VARCHAR2 kolonne til tabel A
  • Opdater A for at sætte den nye kolonne lig med TO_CHAR( col1A )
  • Tilføj en ny 'VARCHAR2'-kolonne til tabel B
  • Opdater B for at sætte kolonnen lig med TO_CHAR( col2B )
  • Slet den eksisterende begrænsning af fremmednøgle
  • Slet den eksisterende primærnøglebegrænsning
  • Slip col1A fra A
  • Slet col2B fra B
  • Omdøb de nye kolonner (hvis det ønskes) i A &B til col1A og col2B
  • Opret den nye primærnøglebegrænsning
  • Opret den nye fremmednøglebegrænsning

Det er klart, at det bliver en temmelig dyr operation.



  1. SQL Server Genopbyg og Reorganiser Index

  2. Hvordan kan jeg håndhæve sammensat unikhed i MySQL?

  3. SQL:Dynamisk visning med kolonnenavne baseret på kolonneværdier i kildetabellen

  4. Søg i et kolonnenavn på tværs af alle databaser