Restrição CHECK SQL

Restrição CHECK SQL

A restrição de verificação CHECK é usada para limitar o intervalo de valores em uma coluna.

Se uma restrição de verificação CHECK for definida para uma coluna específica, essa coluna permitirá apenas valores específicos.

Se uma restrição de verificação CHECK for definida para uma tabela, essa restrição aplicará limites aos valores específicos de colunas.

Restrição de verificação CHECK no CREATE TABLE

O seguinte SQL cria uma restrição de verificação CHECK na coluna "Id_P" ao criar a tabela "Persons". A restrição de verificação determina que a coluna "Id_P" deve conter apenas inteiros maiores que 0.

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

Se precisar nomear a restrição CHECK e definir restrições CHECK para várias colunas, use a seguinte sintaxe SQL:

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

Restrição CHECK SQL em ALTER TABLE

Se precisar criar uma restrição CHECK para a coluna "Id_P" quando a tabela já existe, use o seguinte SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CHECK (Id_P>0)

Se precisar nomear a restrição CHECK e definir restrições CHECK para várias colunas, use a seguinte sintaxe SQL:

MySQL / SQL Server / Oracle / MS Access:

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

Revogar Restrição CHECK

Para revogar a restrição CHECK, use o seguinte SQL:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT chk_Person

MySQL:

ALTER TABLE Persons
DROP CHECK chk_Person