SQL CHECK-Bedingung

SQL CHECK-Bedingung

CHECK-Bedingungen werden verwendet, um den Wertebereich in einer Spalte zu begrenzen.

Wenn eine CHECK-Bedingung für eine einzelne Spalte definiert wird, ist diese Spalte nur bestimmten Werten erlaubt.

Wenn eine CHECK-Bedingung für eine Tabelle definiert wird, wird diese Bedingung die Werte in bestimmten Spalten einschränken.

SQL CHECK Constraint auf CREATE TABLE

Der folgende SQL erstellt bei der Erstellung der "Persons"-Tabelle eine CHECK-Bedingung für die Spalte "Id_P". Die CHECK-Bedingung legt fest, dass die Spalte "Id_P" nur positive Ganzzahlen enthalten muss.

MySQL:

CREATE TABLE Personen
(
Id_P int NICHT NULL,
Nachname varchar(255) NICHT NULL,
Vorname varchar(255),
Adresse varchar(255),
Stadt varchar(255),
CHECK (Id_P>0)
)

SQL Server / Oracle / MS Access:

CREATE TABLE Personen
(
Id_P int NICHT NULL CHECK (Id_P>0),
Nachname varchar(255) NICHT NULL,
Vorname varchar(255),
Adresse varchar(255),
Stadt varchar(255)
)

Wenn CHECK-Bedingungen für mehrere Spalten und mit Namen definiert werden müssen, verwenden Sie die folgenden SQL-Syntax:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Personen
(
Id_P int NICHT NULL,
Nachname varchar(255) NICHT NULL,
Vorname varchar(255),
Adresse varchar(255),
Stadt varchar(255),
CONSTRAINT chk_Person CHECK (Id_P>0 AND Stadt='Sandnes')
)

SQL CHECK Constraint auf ALTER TABLE

Wenn CHECK-Bedingungen für die Spalte "Id_P" in einer bereits existierenden Tabelle erstellt werden sollen, verwenden Sie die folgenden SQL-Anweisungen:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Personen
ADD CHECK (Id_P>0)

Wenn CHECK-Bedingungen für mehrere Spalten und mit Namen definiert werden müssen, verwenden Sie die folgenden SQL-Syntax:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Personen
ADD CONSTRAINT chk_Person CHECK (Id_P>0 AND Stadt='Sandnes')

CHECK-Bedingungen aufheben

Um CHECK-Bedingungen aufzuheben, verwenden Sie die folgenden SQL-Anweisungen:

SQL Server / Oracle / MS Access:

ALTER TABLE Personen
DROP CONSTRAINT chk_Person

MySQL:

ALTER TABLE Personen
DROP CHECK chk_Person