Обмеження CHECK використовується для обмеження діапазону значень, який може бути розміщений у стовпці.
Якщо ви визначите обмеження CHECK для одного стовпця, це дозволить лише певні значення для цього стовпця.
Якщо ви визначите обмеження CHECK для таблиці, це може обмежити значення в певних стовпцях на основі значень в інших стовпцях рядка.
SQL ПЕРЕВІРКА СТВОРЕННЯ ТАБЛИЦІ
Наступний SQL створює обмеження CHECK у стовпці "Вік", коли створюється таблиця "Персони". Обмеження CHECK гарантує, що ви не можете мати жодної особи віком до 18 років:
MySQL:
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, CHECK (Age>=18) );
SQL Server / Oracle / MS Access:
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int CHECK (Age>=18) );
Щоб дозволити іменування обмеження CHECK та для визначення обмеження CHECK для декількох стовпців, використовуйте такий синтаксис SQL:
MySQL / SQL Server / Oracle / MS Access:
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") );
Перевірка SQL на ALTER TABLE
Щоб створити обмеження CHECK у стовпці «Вік», коли таблиця вже створена, використовуйте такий SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons ADD CHECK (Age>=18);
Щоб дозволити іменування обмеження CHECK та для визначення обмеження CHECK для декількох стовпців, використовуйте такий синтаксис SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City="Sandnes");
ВИПУСНІТЬ ОБМЕЖЕННЯ ПРОВЕРКИ
Щоб скинути обмеження CHECK, використовуйте такий SQL:
SQL Server / Oracle / MS Access:
ALTER TABLE Persons DROP CONSTRAINT CHK_PersonAge;
MySQL:
ALTER TABLE Persons DROP CHECK CHK_PersonAge;