Ograniczenie kontroli SQL
Ograniczenie kontroli SQL
Ograniczenie CHECK
służy do ograniczenia zakresu wartości, które można umieścić w kolumnie.
Jeśli zdefiniujesz CHECK
ograniczenie na kolumnie, zezwoli tylko na określone wartości dla tej kolumny.
Jeśli zdefiniujesz CHECK
ograniczenie w tabeli, może ono ograniczyć wartości w niektórych kolumnach na podstawie wartości w innych kolumnach w wierszu.
SQL CHECK na CREATE TABLE
Poniższy kod SQL tworzy CHECK
ograniczenie w kolumnie „Wiek” podczas tworzenia tabeli „Osoby”. Ograniczenie CHECK
zapewnia, że osoba musi mieć ukończone 18 lat lub więcej:
MySQL:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CHECK (Age>=18)
);
Serwer SQL / Oracle / MS Access:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int CHECK (Age>=18)
);
Aby zezwolić na nazywanie CHECK
ograniczenia i zdefiniować
CHECK
ograniczenie na wielu kolumnach, użyj następującej składni 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 na ALTER TABLE
Aby utworzyć CHECK
ograniczenie dla kolumny „Wiek”, gdy tabela jest już utworzona, użyj następującego kodu SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CHECK (Age>=18);
Aby zezwolić na nazywanie CHECK
ograniczenia i zdefiniować
CHECK
ograniczenie na wielu kolumnach, użyj następującej składni SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes');
OPUŚĆ CZEK Ograniczenie
Aby usunąć CHECK
ograniczenie, użyj następującego kodu SQL:
Serwer SQL / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;
MySQL:
ALTER TABLE Persons
DROP CHECK CHK_PersonAge;