Последние учебники веб-разработки
 

SQL СНЕСК


SQL СНЕСК

Проверочное ограничение используется для ограничения диапазона значений, которые могут быть помещены в колонке.

При определении СНЕСК на одной колонке позволяет только определенные значения для этого столбца.

Если определить СНЕСК на столе он может ограничить значения в определенных столбцах на основе значений в других столбцах в строке.


SQL СНЕСК на CREATE TABLE

Следующий SQL создает СНЕСК на "P_Id" колонке , когда "Persons" создается таблица. СНЕСК указывает , что столбец "P_Id" должен включать в себя только целые числа больше 0.

MySQL:

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

SQL Server / Oracle / MS Access:

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

Чтобы разрешить именование проверочного ограничения, а также для определения СНЕСК на несколько столбцов, используйте следующий синтаксис SQL:

MySQL / SQL Server / Oracle / MS Access:

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

SQL СНЕСК на ALTER TABLE

Чтобы создать СНЕСК на "P_Id" колонку , когда таблица уже создана, используйте следующий SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CHECK (P_Id>0)

Чтобы разрешить именование проверочного ограничения, а также для определения СНЕСК на несколько столбцов, используйте следующий синтаксис SQL:

MySQL / SQL Server / Oracle / MS Access:

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

Уронить СНЕСК

Чтобы отбросить проверочное ограничение, используйте следующий SQL:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT chk_Person

MySQL:

ALTER TABLE Persons
DROP CHECK chk_Person