Ограничение CHECK SQL

Ограничение CHECK SQL

Ограничение CHECK используется для ограничения диапазона значений в столбце.

Если ограничение CHECK определено для отдельного столбца, то этот столбец будет разрешать только определенные значения.

Если для таблицы определено ограничение CHECK, то это ограничение будет накладываться на значения в определенном столбце.

SQL ограничение CHECK при создании таблицы

Ниже приведен SQL, который создает ограничение CHECK для столбца "Id_P" при создании таблицы "Persons". Ограничение CHECK устанавливает, что столбец "Id_P" должен содержать только положительные целые числа.

MySQL:

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CHECK (Id_P>0)
)

SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
Id_P int NOT NULL CHECK (Id_P>0),
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

Если нужно命名 ограничение CHECK и определить несколько ограничений CHECK для нескольких столбцов, пожалуйста, используйте следующую SQL грамматику:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')
)

Ограничение CHECK SQL в ALTER TABLE

Если нужно создать ограничение CHECK для столбца "Id_P", когда таблица уже существует, пожалуйста, используйте следующую SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CHECK (Id_P>0)

Если нужно命名 ограничение CHECK и определить несколько ограничений CHECK для нескольких столбцов, пожалуйста, используйте следующую SQL грамматику:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')

Отменить ограничение CHECK

Если нужно отменить ограничение CHECK, пожалуйста, используйте следующую SQL:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT chk_Person

MySQL:

ALTER TABLE Persons
DROP CHECK chk_Person