A restrição CHECK permite que uma condição verifique o valor que está sendo inserido em um registro. Se a condição for avaliada como falsa, o registro viola a restrição e não é inserido na tabela.
Exemplo
Por exemplo, o programa a seguir cria uma nova tabela chamada CUSTOMERS e adiciona cinco colunas. Aqui, adicionamos uma coluna CHEQUE com IDADE, para que não possa haver CLIENTE com menos de 18 anos.
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL CHECK (AGE >= 18),
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
Se a tabela CUSTOMERS já foi criada, para adicionar uma restrição CHECK à coluna AGE, você escreveria uma instrução como a fornecida abaixo.
ALTER TABLE CUSTOMERS
MODIFY AGE INT NOT NULL CHECK (AGE >= 18 );
Você também pode usar a seguinte sintaxe, que também oferece suporte à nomeação da restrição em várias colunas -
ALTER TABLE CUSTOMERS
ADD CONSTRAINT myCheckConstraint CHECK(AGE >= 18);
DROP uma restrição CHECK
Para eliminar uma restrição CHECK, use a seguinte sintaxe SQL. Esta sintaxe não funciona com MySQL.
ALTER TABLE CUSTOMERS
DROP CONSTRAINT myCheckConstraint;
sql-rdbms-concepts.htm