Jeśli masz już istniejący CHECK ograniczenie w SQL Server, ale musisz je zmodyfikować, musisz je usunąć i odtworzyć. Nie ma ALTER CONSTRAINT oświadczenie lub coś podobnego.
Aby „zmodyfikować” istniejące ograniczenie:
- Usuń ograniczenie za pomocą
ALTER TABLEzDROP CONSTRAINT. - Utwórz nowe ograniczenie za pomocą
ALTER TABLEzADD CONSTRAINT.
Przykład
Oto przykład upuszczania i ponownego tworzenia CHECK ograniczenie.
ALTER TABLE ConstraintTest DROP CONSTRAINT chkTeamSize; ALTER TABLE ConstraintTest ADD CONSTRAINT chkTeamSize CHECK (TeamSize >= 5 AND TeamSize <= 20) ;
Jak wspomniano, nie możesz go modyfikować – musisz go usunąć i utworzyć z nową definicją.
W tym przypadku ograniczenie nazywa się chkTeamSize po prostu go upuszczam i tworzę z nową definicją.
Uwaga dotycząca zamawiania
Pamiętaj, że CHECK Ograniczenia są sprawdzane w kolejności, w jakiej zostały utworzone, więc upuszczenie/odtworzenie ograniczenia może spowodować, że zostanie ono zweryfikowane w innej kolejności niż poprzednio. Może to spowodować przechwycenie innych błędów przed tym ograniczeniem, podczas gdy wcześniej zostały przechwycone po.