SQL CHECK-restriktion

SQL CHECK-restriktion

CHECK-restriktioner används för att begränsa värdet av en kolonn.

Om en CHECK-restriktion definieras för en enskild kolonn, tillåter den endast specifika värden för denna kolonn.

Om en CHECK-restriktion definieras för en tabell, kommer denna restriktion att begränsa värdena för specifika kolonner.

SQL CHECK-restriktion vid CREATE TABLE

Följande SQL skapar en CHECK-restriktion för kolonnen "Id_P" vid skapandet av tabellen "Persons". CHECK-restriktionen specificerar att kolonnen "Id_P" måste innehålla endast större än 0 heltal.

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)
)

Om du behöver namnge CHECK-begränsningen och definiera CHECK-begränsningar för flera kolonner, använd följande SQL-syntax:

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')
)

SQL CHECK-begränsning på ALTER TABLE

Om du skapar en CHECK-begränsning för "Id_P"-kolumnen när tabellen redan finns, använd följande SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CHECK (Id_P>0)

Om du behöver namnge CHECK-begränsningen och definiera CHECK-begränsningar för flera kolonner, använd följande SQL-syntax:

MySQL / SQL Server / Oracle / MS Access:

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

Återkalla CHECK-begränsning

Om du vill återkalla CHECK-begränsningen, använd följande SQL:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT chk_Person

MySQL:

ALTER TABLE Persons
DROP CHECK chk_Person