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 TABLE
zDROP CONSTRAINT
. - Utwórz nowe ograniczenie za pomocą
ALTER TABLE
zADD 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.