SQL CHECK Обмеження
SQL CHECK Обмеження
Обмеження CHECK
використовується для обмеження діапазону значень, які можна розмістити в стовпці.
Якщо ви визначите обмеження CHECK
для стовпця, це дозволить лише певні значення для цього стовпця.
Якщо ви визначаєте обмеження CHECK
для таблиці, воно може обмежити значення в певних стовпцях на основі значень в інших стовпцях у рядку.
SQL CHECK на CREATE TABLE
Наступний SQL створює обмеження CHECK
для стовпця "Age" коли створюється таблиця "Persons". Обмеження 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 CHECK на ALTER TABLE
Щоб створити обмеження CHECK
для стовпця "Age" коли таблицю вже створено, використовуйте такий 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 Обмеження
Щоб видалити обмеження CHECK
використовуйте такий SQL:
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;
MySQL:
ALTER TABLE Persons
DROP CHECK CHK_PersonAge;