Als u al een bestaande CHECK
. heeft beperking in SQL Server, maar je moet het wijzigen, je moet het laten vallen en opnieuw maken. Er is geen ALTER CONSTRAINT
verklaring of iets dergelijks.
Dus om een bestaande beperking te "wijzigen":
- Laat de beperking vallen met
ALTER TABLE
metDROP CONSTRAINT
. - Maak de nieuwe beperking met
ALTER TABLE
metADD CONSTRAINT
.
Voorbeeld
Hier is een voorbeeld van het laten vallen en opnieuw maken van een CHECK
beperking.
ALTER TABLE ConstraintTest DROP CONSTRAINT chkTeamSize; ALTER TABLE ConstraintTest ADD CONSTRAINT chkTeamSize CHECK (TeamSize >= 5 AND TeamSize <= 20) ;
Zoals vermeld, kun je het niet wijzigen - je moet het laten vallen en het maken met de nieuwe definitie.
In dit geval heet de beperking chkTeamSize en ik laat het gewoon vallen en creëer het met de nieuwe definitie.
Een opmerking over bestellen
Merk op dat CHECK
beperkingen worden gevalideerd in de volgorde waarin ze zijn gemaakt, dus het verwijderen/opnieuw maken van een beperking kan ertoe leiden dat deze in een andere volgorde wordt gevalideerd dan voorheen. Dit kan ertoe leiden dat andere fouten vóór deze beperking worden gedetecteerd, terwijl ze eerder daarna werden gedetecteerd.