SQL - CHECK Restricción

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