La restricción CHECK habilita una condición para verificar el valor que se ingresa en un registro. Si la condición se evalúa como falsa, el registro viola la restricción y no se ingresa en la tabla.
Ejemplo
Por ejemplo, el siguiente programa crea una nueva tabla llamada CLIENTES y agrega cinco columnas. Aquí, agregamos una columna CHECK con EDAD, para que no pueda tener ningún CLIENTE menor de 18 años.
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)
);
Si la tabla CLIENTES ya se ha creado, para agregar una restricción CHECK a la columna AGE, debe escribir una declaración como la que se muestra a continuación.
ALTER TABLE CUSTOMERS
MODIFY AGE INT NOT NULL CHECK (AGE >= 18 );
También puede usar la siguiente sintaxis, que también admite nombrar la restricción en varias columnas:
ALTER TABLE CUSTOMERS
ADD CONSTRAINT myCheckConstraint CHECK(AGE >= 18);
DROP a CHECK Constraint
Para eliminar una restricción CHECK, utilice la siguiente sintaxis SQL. Esta sintaxis no funciona con MySQL.
ALTER TABLE CUSTOMERS
DROP CONSTRAINT myCheckConstraint;
sql-rdbms-conceptos.htm