sql >> Database teknologi >  >> RDS >> Sqlserver

Sletning af kolonner i MS SQL Server

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.



  1. Installation af RODBC/ROracle-pakker på OS X Mavericks

  2. Hent tegnet mellem de første 2 specialtegn i SQL

  3. Sådan installeres (L|M)AMP-stack på iPhone?

  4. Hvordan kontrollerer man, om en kolonne eksisterer, før man tilføjer den til en eksisterende tabel i PL/SQL?