SQL Ograniczenie sprawdzające
Ograniczenie sprawdzenia jest stosowana do ograniczania zakresu wartości, które mogą być umieszczone w kolumnie.
Jeżeli zdefiniowano ograniczenie Sprawdź na jednej kolumnie pozwala tylko pewne wartości dla tej kolumny.
Jeżeli zdefiniowano ograniczenie sprawdzić w tabeli może ograniczyć wartości w pewnych kolumnach na podstawie wartości w innych kolumnach w wierszu.
Ograniczenie Sprawdź na SQL CREATE TABLE
Poniższy SQL tworzy ograniczenie Sprawdź na "P_Id" kolumny, gdy "Persons" tabeli jest tworzony. Ograniczenie sprawdzenia wskazuje, że kolumna "P_Id" musi zawierać tylko liczby całkowite większe niż 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)
)
Aby umożliwić nazewnictwa ograniczenie wyboru i definiowania ograniczenie Sprawdź na wielu kolumnach, należy użyć następującej składni 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')
)
Ograniczenie Sprawdź na SQL ALTER TABLE
Aby utworzyć ograniczenie Sprawdź na "P_Id" kolumny, gdy stół jest już utworzony, należy użyć następującego SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CHECK (P_Id>0)
Aby umożliwić nazewnictwa ograniczenie wyboru i definiowania ograniczenie Sprawdź na wielu kolumnach, należy użyć następującej składni SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
Aby usunąć ograniczenie sprawdzenia
Aby usunąć ograniczenie sprawdzenia, użyj następującego SQL:
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT chk_Person
MySQL:
ALTER TABLE Persons
DROP CHECK chk_Person