Cú pháp SQL CHECK Constraint

SQL CHECK Constraint là gì?

Ràng buộc CHECK (CHECK constraint) trong SQL là một loại ràng buộc toàn vẹn dữ liệu được sử dụng để giới hạn giá trị được phép lưu trữ trong một cột. Nó cho phép bạn xác định một điều kiện mà tất cả các giá trị trong cột đó phải đáp ứng.

check 1

Cú pháp:

ALTER TABLE <Ten bang>
ADD CONSTRAINT <Ten rang buoc> CHECK (<Dieu kien>);

Trong đó:

  • <Ten bang>: Tên của bảng chứa cột cần ràng buộc.
  • <Ten rang buoc>: Tên của ràng buộc CHECK.
  • <Dieu kien>: Biểu thức Boolean (TRUE hoặc FALSE) được sử dụng để kiểm tra giá trị của cột.

Ví dụ:

ALTER TABLE Employees
ADD CONSTRAINT CheckSalary CHECK (Salary > 1000000);

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    City varchar(255),
    CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes')
);
--Ràng buộc này đảm bảo rằng tất cả nhân viên (Employees) phải có mức lương (Salary) cao hơn 1.000.000.

CHECK on ALTER TABLE

-- MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CHECK (Age>=18);

-- MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes');

Xoá CHECK Constraint:

--Oracle…
ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;

--MySQL
ALTER TABLE Persons
DROP CHECK CHK_PersonAge;

Lưu ý:

  • Ràng buộc CHECK có thể được sử dụng với các toán tử so sánh, toán tử logic và các hàm SQL.
  • Ràng buộc CHECK chỉ áp dụng cho các giá trị mới được chèn vào hoặc cập nhật trong cột.
  • Nếu một bản ghi vi phạm ràng buộc CHECK, thao tác INSERT hoặc UPDATE sẽ bị lỗi.

Một số lợi ích khi sử dụng ràng buộc CHECK:

  • Đảm bảo tính chính xác và toàn vẹn của dữ liệu.
  • Giúp ngăn chặn lỗi dữ liệu.
  • Làm cho cơ sở dữ liệu của bạn đáng tin cậy hơn.
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận