Cet article montre comment supprimer une colonne dans une base de données SQL Server, lorsque cette colonne a une contrainte existante (Astuce :vous devez d'abord supprimer la contrainte).
Si vous avez déjà essayé de supprimer une colonne, dites ceci :
ALTER TABLE Tasks DROP COLUMN TaskCode; GO
Seulement pour obtenir une erreur comme celle-ci :
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.
La raison en est que la colonne a une contrainte existante et que vous ne pouvez pas supprimer la table lorsqu'elle a une contrainte.
Par conséquent, vous devez supprimer la contrainte avant de supprimer la table.
Abandonnez d'abord la contrainte
Voici comment supprimer la contrainte :
ALTER TABLE Tasks DROP CONSTRAINT taskcode_unique; GO
Résultat :
Commands completed successfully.
Ensuite, déposez la table
Maintenant que vous avez supprimé la contrainte, vous pouvez continuer et supprimer la table :
ALTER TABLE Tasks DROP COLUMN TaskCode; GO
Résultat :
Commands completed successfully.