Kommandoen du leder efter er:
alter table tblName drop column columnName
hvor tblName
er navnet på tabellen og columnName
er navnet på kolonnen, men der er et par ting, du muligvis skal gøre først.
- Hvis der er nogen fremmednøglereferencer til kolonnen, skal du først slippe af med dem.
- Hvis der er et indeks, der bruger den kolonne, skal du enten slippe af med det eller justere det for ikke at bruge den kolonne.
Husk, at udførelsen af denne kommando ikke nødvendigvis er god. En mulighed er at vente på en nedetid, hvor du kan være sikker på, at ingen vil få adgang til databasen, omdøbe den aktuelle tabel og derefter bruge create table
og insert into ... select from
for at overføre de kolonner, du ikke vil have slettet.
En af de senere udgivelser af Oracle har faktisk en blød sletning, som bare kan markere en kolonne som ubrugt uden at fjerne den fysisk. Det har samme effekt, da du ikke længere kan referere til det, og der er en kommando i stil med alter table ... drop unused columns
som er beregnet til at blive kørt i stille tid, hvilket gør det hårde arbejde med rent faktisk at fjerne det fysisk.
Dette har den fordel, at det "forsvinder" kolonnerne med det samme uden at trække databaseydelsen ned i travle tider.