SQL CHECK -beperking
SQL CHECK-beperking
De CHECK
beperking wordt gebruikt om het waardebereik te beperken dat in een kolom kan worden geplaatst.
Als u een CHECK
beperking voor een kolom definieert, zijn alleen bepaalde waarden voor deze kolom toegestaan.
Als u een CHECK
beperking voor een tabel definieert, kan deze de waarden in bepaalde kolommen beperken op basis van waarden in andere kolommen in de rij.
SQL-CONTROLE op CREATE TABLE
De volgende SQL creëert een CHECK
beperking voor de kolom "Leeftijd" wanneer de tabel "Personen" wordt gemaakt. De CHECK
beperking zorgt ervoor dat de leeftijd van een persoon 18 jaar of ouder moet zijn:
MijnSQL:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CHECK (Age>=18)
);
SQL Server / Oracle / MS-Access:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int CHECK (Age>=18)
);
Gebruik de volgende SQL-syntaxis om het benoemen van een beperking toe te staan en om een beperking voor meerdere kolommen CHECK
te definiëren :
CHECK
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-CONTROLE op ALTER TABLE
Gebruik de volgende SQL om een CHECK
beperking voor de kolom "Leeftijd" te maken wanneer de tabel al is gemaakt:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CHECK (Age>=18);
Gebruik de volgende SQL-syntaxis om het benoemen van een beperking toe te staan en om een beperking voor meerdere kolommen CHECK
te definiëren :
CHECK
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes');
DROP een CONTROLE-beperking
CHECK
Gebruik de volgende SQL om een beperking te verwijderen:
SQL Server / Oracle / MS-Access:
ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;
MijnSQL:
ALTER TABLE Persons
DROP CHECK CHK_PersonAge;