Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Sửa đổi ràng buộc KIỂM TRA trong SQL Server bằng T-SQL

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ó:

  1. Bỏ ràng buộc bằng cách sử dụng ALTER TABLE với DROP CONSTRAINT .
  2. Tạo ràng buộc mới bằng cách sử dụng ALTER TABLE với ADD 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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server:Trích xuất siêu dữ liệu bảng (mô tả, trường và kiểu dữ liệu của chúng)

  2. Cách chỉ định đối chiếu trong truy vấn trong SQL Server (T-SQL)

  3. Mã hóa sao lưu cơ sở dữ liệu SQL Server

  4. Cách liệt kê các tính năng không được dùng nữa trong phiên bản máy chủ SQL bằng T-SQL

  5. Cách khắc phục “Danh sách chọn cho câu lệnh INSERT chứa ít mục hơn danh sách chèn”