Nếu bạn đã có CHECK
hiện có trong SQL Server, nhưng bạn cần sửa đổi nó, bạn sẽ cần bỏ nó và tạo lại nó. Không có ALTER CONSTRAINT
tuyên bố hoặc bất kỳ điều gì tương tự.
Vì vậy, để "sửa đổi" một ràng buộc hiện có:
- Bỏ ràng buộc bằng cách sử dụng
ALTER TABLE
vớiDROP CONSTRAINT
. - Tạo ràng buộc mới bằng cách sử dụng
ALTER TABLE
vớiADD CONSTRAINT
.
Ví dụ
Dưới đây là một ví dụ về việc thả và tạo lại một CHECK
ràng buộc.
ALTER TABLE ConstraintTest DROP CONSTRAINT chkTeamSize; ALTER TABLE ConstraintTest ADD CONSTRAINT chkTeamSize CHECK (TeamSize >= 5 AND TeamSize <= 20) ;
Như đã đề cập, bạn không thể sửa đổi nó - bạn cần bỏ nó và tạo nó với định nghĩa mới.
Trong trường hợp này, ràng buộc được gọi là chkTeamSize và tôi chỉ cần thả nó xuống và tạo nó với định nghĩa mới.
Lưu ý về Đặt hàng
Lưu ý rằng CHECK
các ràng buộc được xác thực theo thứ tự mà chúng được tạo, vì vậy, việc bỏ / tạo lại một ràng buộc có thể khiến nó được xác thực theo một thứ tự khác với trước đây. Điều này có thể dẫn đến các lỗi khác được phát hiện trước ràng buộc này, khi trước đó chúng được phát hiện sau.