Denne artikel viser, hvordan man sletter en kolonne i en SQL Server-database, når den kolonne har en eksisterende begrænsning (Tip:Du skal først slippe begrænsningen).
Hvis du nogensinde har prøvet at droppe en kolonne, så sig sådan her:
ALTER TABLE Tasks DROP COLUMN TaskCode; GO
Kun for at få en fejl som denne:
Msg 5074, Level 16, State 1, Line 1 The object 'taskcode_unique' is dependent on column 'TaskCode'. Msg 4922, Level 16, State 9, Line 1 ALTER TABLE DROP COLUMN TaskCode failed because one or more objects access this column.
Årsagen er, at kolonnen har en eksisterende begrænsning, og du kan ikke slippe tabellen, når den har en begrænsning.
Derfor skal du droppe begrænsningen, før du dropper tabellen.
Slip begrænsningen først
Sådan slipper du begrænsningen:
ALTER TABLE Tasks DROP CONSTRAINT taskcode_unique; GO
Resultat:
Commands completed successfully.
Slip derefter tabellen
Nu hvor du har droppet begrænsningen, kan du gå videre og slippe tabellen:
ALTER TABLE Tasks DROP COLUMN TaskCode; GO
Resultat:
Commands completed successfully.