sql >> Databasteknik >  >> RDS >> Oracle

Ändra datatyp för en kolumn, som refereras av andra tabeller

Nej, det finns inget enkelt sätt att göra detta på. Om du antar att båda tabellerna innehåller data måste du göra det

  • Lägg till en ny VARCHAR2 kolumn till tabell A
  • Uppdatera A för att ställa in den nya kolumnen lika med TO_CHAR( col1A )
  • Lägg till en ny kolumn "VARCHAR2" i tabell B
  • Uppdatera B för att ställa in kolumnen lika med TO_CHAR( col2B )
  • Släpp den befintliga begränsningen för främmande nyckel
  • Släpp den befintliga primärnyckelbegränsningen
  • Släpp col1A från A
  • Släpp col2B från B
  • Byt namn på de nya kolumnerna (om så önskas) i A &B till col1A och col2B
  • Skapa den nya primärnyckelbegränsningen
  • Skapa den nya begränsningen för främmande nyckel

Uppenbarligen kommer det att bli en ganska dyr operation.



  1. Sätta MySQL-databas under versionskontroll?

  2. Stort resultatuppsättning på postgresql-fråga

  3. Oracle ODBC-anslutningsfel (med Oracles vanliga ODBC-drivrutiner)

  4. Skillnad mellan Oracles plus (+) notation och ansi JOIN notation?