SQL CHECK-Einschränkung
Die CHECK-Einschränkung wird verwendet, um den Wertebereich zu begrenzen, die in einer Spalte platziert werden können.
Wenn Sie eine CHECK-Einschränkung auf einer einzigen Spalte definieren können sie nur bestimmte Werte für diese Spalte.
Wenn Sie eine CHECK-Einschränkung für eine Tabelle definieren können sie die Werte in bestimmten Spalten begrenzen basierend auf den Werten in anderen Spalten in der Zeile.
SQL CHECK-Einschränkung auf CREATE TABLE
Die folgende SQL - Anweisung erstellt eine CHECK - Einschränkung für die "P_Id" Spalte , wenn die "Persons" Tabelle erstellt wird. Die CHECK - Einschränkung gibt an, dass die Spalte "P_Id" darf nur ganze Zahlen sind größer als 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)
)
Damit Benennung einer CHECK-Einschränkung, und zum Definieren einer CHECK-Einschränkung auf mehrere Spalten, verwenden Sie die folgende SQL-Syntax:
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 CHECK-Einschränkung auf ALTER TABLE
Um eine CHECK - Einschränkung für die erstellen "P_Id" Spalte , wenn die Tabelle bereits erstellt wird, verwenden Sie die folgende SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CHECK (P_Id>0)
Damit Benennung einer CHECK-Einschränkung, und zum Definieren einer CHECK-Einschränkung auf mehrere Spalten, verwenden Sie die folgende SQL-Syntax:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
Um DROP eine CHECK-Constraint
Um eine CHECK-Einschränkung zu löschen, verwenden Sie die folgende SQL:
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT chk_Person
MySQL:
ALTER TABLE Persons
DROP CHECK chk_Person