SQL CHECK: Cómo utilizar la restricción

La restricción CHECK en SQL se usa para limitar el rango de valores que se puede colocar en una columna, por ejemplo, Si define una restricción CHECK en una sola columna, solo se permiten ciertos valores para esta columna. De esta manera se pueden evitar errores al no introducir valores erróneos.

Si define una restricción CHECK en una tabla, puede limitar los valores en ciertas columnas basándose en valores en otras columnas en la fila.

Cómo utilizar la restricción SQL CHECK con CREATE TABLE

A continuación puedes ver la sintaxis que debes utilizar para crear restricciones con CHECK al crear una tabla con CREATE TABLE.

CREATE TABLE Personas (
    ID int NOT NULL,
   Apellido varchar(255) NOT NULL,
   Nombre varchar(255),
   Edad int CHECK (Edad;=18)
); 

Para permitir la denominación de una restricción CHECK y para definir una restricción CHECK en varias columnas, use la siguiente sintaxis SQL:

CREATE TABLE Personas (
    ID int NOT NULL,
    Apellido varchar(255) NOT NULL,
    Nombre varchar(255),
    Edad int,
    Ciudad varchar(255),
    CONSTRAINT CHK_Persona CHECK 
    (Edad;=18 AND Ciudad='Bogotá')
); 

Ejemplo para emplear SQL CHECK con ALTER TABLE

Para crear una restricción CHECK en la columna «Edad» cuando la tabla ya está creada, use el siguiente SQL:

ALTER TABLE Personas
ADD CHECK (Edad;=18); 

Para permitir la denominación de una restricción CHECK y para definir una restricción CHECK en varias columnas, use la siguiente sintaxis SQL:

ALTER TABLE Personas
ADD CONSTRAINT CHK_EdadPersona CHECK 
(Edad;=18 AND Ciudad='Bogotá');

Cómo borrar una restricción con DROP CONSTRAINT

A continuación puedes ver un ejemplo de la sintaxis a utilizar para poder eliminar una restricción CHECK:

ALTER TABLE Personas
DROP CONSTRAINT CHK_EdadPersona;