Thứ Ba, 12 tháng 1, 2021

SQL CHECK Constraint

Ràng buộc SQL CHECK 

Ràng buộc CHECK được sử dụng để giới hạn phạm vi giá trị có thể được đặt trong một cột.

Nếu bạn xác định ràng buộc CHECK trên một cột, nó chỉ cho phép một số giá trị nhất định cho cột này.

Nếu bạn xác định ràng buộc KIỂM TRA trên một bảng, nó có thể giới hạn các giá trị trong các cột nhất định dựa trên các giá trị trong các cột khác trong hàng.


SQL CHECK  khi TẠO BẢNG

SQL sau tạo ràng buộc CHECK trên cột "Tuổi" khi bảng "Người" được tạo. Ràng buộc CHECK đảm bảo rằng tuổi của một người phải từ 18 tuổi trở lên:

MySQL:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255NOT NULL,
    FirstName varchar(255),
    Age int,
    CHECK (Age>=18)
);

SQL Server / Oracle / MS Access:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255NOT NULL,
    FirstName varchar(255),
    Age int CHECK (Age>=18)
);

Để cho phép đặt tên cho ràng buộc CHECK và để xác định ràng buộc CHECK trên nhiều cột, hãy sử dụng cú pháp SQL sau:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255NOT NULL,
    FirstName varchar(255),
    Age int,
    City varchar(255),
    CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes')
);

KIỂM TRA SQL trên ALTER TABLE

Để tạo ràng buộc KIỂM TRA trên cột "Tuổi" khi bảng đã được tạo, hãy sử dụng SQL sau:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CHECK (Age>=18);

Để cho phép đặt tên cho ràng buộc CHECK và để xác định ràng buộc CHECK trên nhiều cột, hãy sử dụng cú pháp SQL sau:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes');

XÓA Ràng buộc KIỂM TRA

Để loại bỏ ràng buộc KIỂM TRA, hãy sử dụng SQL sau:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;

MySQL:

ALTER TABLE Persons
DROP CHECK CHK_PersonAge;
==================================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

#OracleTutorial #OracleDBA #OracleDatabaseAdministration #học oracle database #oca #ocp #tự học oracle

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master