sql >> Database >  >> RDS >> Sqlserver

Kolommen verwijderen in MS SQL Server

Het commando dat je zoekt is:

alter table tblName drop column columnName

waar tblName is de naam van de tabel en columnName is de naam van de kolom, maar het kan zijn dat u eerst een aantal dingen moet doen.

  • Als er verwijzingen naar buitenlandse sleutels naar de kolom zijn, moet u deze eerst verwijderen.
  • Als er een index is die die kolom gebruikt, moet u deze verwijderen of aanpassen om die kolom niet te gebruiken.

Houd er rekening mee dat de uitvoering van deze opdracht niet per se goed hoeft te zijn. Een optie is om te wachten op een periode waarin u er zeker van bent dat niemand toegang heeft tot de database, de naam van de huidige tabel te wijzigen en vervolgens create table te gebruiken. en insert into ... select from om de kolommen over te zetten die u niet wilt verwijderen.

Een van de latere versies van Oracle heeft eigenlijk een zachte verwijdering die een kolom gewoon als ongebruikt kan markeren zonder deze fysiek te verwijderen. Het heeft hetzelfde effect omdat je er niet meer naar kunt verwijzen en er is een commando in de trant van alter table ... drop unused columns die bedoeld is om in stille tijd te worden uitgevoerd, die het harde werk doet om het fysiek te verwijderen.

Dit heeft het voordeel dat de kolommen onmiddellijk "verdwijnen" zonder de databaseprestaties tijdens drukke tijden te verminderen.



  1. Volgorde van tabelafhankelijkheid ophalen in jdbc

  2. Hoe een rij in meerdere rijen te splitsen met een enkele query?

  3. De host staat geen evenementen toe op MySQL, wat is het beste alternatief?

  4. De weergave van DateTime in milliseconden?