web-dev-qa-db-fra.com

Pouvez-vous remplacer ou mettre à jour une contrainte SQL?

J'ai écrit la contrainte suivante pour une colonne que j'ai appelée "grade":

CONSTRAINT gradeRule CHECK grade IN (‘easy’, ‘moderate’, ‘difficult’),

Est-il possible de mettre à jour ultérieurement le gradeRule pour avoir des valeurs différentes? Par exemple, "modéré" et "difficile" pourrait être changé en "moyen" et "dur".

Merci

24
StormPooper

Déposez la contrainte, puis ajoutez la contrainte de remplacement. Vous ne pouvez pas mettre à jour une contrainte dans SQL Server au moins.

ALTER TABLE SomeTable DROP CONSTRAINT gradeRule

De plus, vous devrez mettre à jour les données de la table avant d'ajouter la nouvelle contrainte, de sorte qu'elle répond à la nouvelle contrainte.

6
Scott Ferguson