SQL restrição CHECK
A verificação de restrição é usada para limitar a gama de valores que pode ser colocada em uma coluna.
Se você definir uma restrição CHECK em uma única coluna que permite que apenas determinados valores para esta coluna.
Se você definir uma restrição CHECK em uma tabela que pode limitar os valores em determinadas colunas com base nos valores em outras colunas na linha.
Restrição CHECK SQL em CREATE TABLE
O seguinte SQL cria uma restrição CHECK no "P_Id" coluna quando a "Persons" tabela é criada. A restrição CHECK especifica que a coluna "P_Id" deve incluir apenas números inteiros maiores do que 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)
)
Para permitir a nomeação de uma restrição CHECK, e para a definição de uma restrição CHECK em várias colunas, use a seguinte sintaxe SQL:
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 restrição CHECK em ALTER TABLE
Para criar uma restrição CHECK no "P_Id" coluna quando a tabela já é criado, use o seguinte SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CHECK (P_Id>0)
Para permitir a nomeação de uma restrição CHECK, e para a definição de uma restrição CHECK em várias colunas, use a seguinte sintaxe SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
Para excluir uma restrição CHECK
Para eliminar uma 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