Перевірка обмежень у SQL - пояснюється прикладами синтаксису MySQL та SQL Server

Обмеження 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;