SQL — Обмеження CHECK

332

Від автора: обмеження CHECK SQL вказує умова, яка повинна повірятися при введенні даних запису. Якщо умова оцінюється як false, запис не буде введена в таблицю.

Приклад

Наприклад, наступна програма створює нову таблицю з ім’ям CUSTOMERS і додає в неї п’ять стовпців. Тут ми додаємо обмеження CHECK для стовпця AGE, щоб у ньому не могло міститися значень менше 18.

CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL CHECK (AGE >= 18),
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);

Якщо таблиця CUSTOMERS вже створена, то для додавання обмеження CHECK в стовпець AGE ви повинні створити інструкцію подібну до наведеної нижче.

ALTER TABLE CUSTOMERS
MODIFY AGE INT NOT NULL CHECK (AGE >= 18 );

Ви також можете використовувати наступний синтаксис, який підтримує вказівку обмежень для декількох стовпців:

ALTER TABLE CUSTOMERS
ADD CONSTRAINT myCheckConstraint CHECK(AGE >= 18);

Видалення обмеження CHECK

Щоб видалити обмеження CHECK, використовуйте наступний синтаксис SQL. Цей синтаксис не працює в MySQL.

ALTER TABLE CUSTOMERS
DROP CONSTRAINT myCheckConstraint;