Pokud již máte existující CHECK
omezení v SQL Server, ale musíte ho upravit, budete ho muset zrušit a znovu vytvořit. Neexistuje žádné ALTER CONSTRAINT
prohlášení nebo něco podobného.
Chcete-li tedy „upravit“ existující omezení:
- Zrušte omezení pomocí
ALTER TABLE
sDROP CONSTRAINT
. - Vytvořte nové omezení pomocí
ALTER TABLE
sADD CONSTRAINT
.
Příklad
Zde je příklad vypuštění a opětovného vytvoření CHECK
omezení.
ALTER TABLE ConstraintTest DROP CONSTRAINT chkTeamSize; ALTER TABLE ConstraintTest ADD CONSTRAINT chkTeamSize CHECK (TeamSize >= 5 AND TeamSize <= 20) ;
Jak již bylo zmíněno, nemůžete jej upravovat – musíte jej zahodit a vytvořit s novou definicí.
V tomto případě se omezení nazývá chkTeamSize a jednoduše jej zahodím a vytvořím s novou definicí.
Poznámka k objednávce
Všimněte si, že CHECK
omezení jsou ověřována v pořadí, v jakém jsou vytvořena, takže zrušení/znovu vytvoření omezení může způsobit, že bude ověřeno v jiném pořadí než dříve. To může mít za následek zachycení dalších chyb před tímto omezením, když byly dříve zachyceny po.