SQL CHECKRestricciones


Restricción SQL CHECK

La restricción CHECK se utiliza para limitar el rango de valores en una columna.

Si se define una restricción CHECK en una sola columna, esa columna solo permitirá valores específicos.

Si se define una restricción CHECK en una tabla, esta restricción limitará los valores en columnas específicas en función de los valores de otras columnas de la fila.


Restricción SQL CHECK en CREATE TABLE

El siguiente SQL crea una restricción CHECK en la columna "P_Id" al crear la tabla "Persons". La restricción CHECK especifica que la columna "P_Id" solo debe contener números enteros mayores 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 nombrar una restricción CHECK y definir una restricción CHECK en múltiples columnas, utilice la siguiente sintaxis 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')
)


Restricción SQL CHECK en ALTER TABLE

Cuando la tabla ya ha sido creada, para crear una restricción CHECK en la columna "P_Id", utilice el siguiente SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CHECK (P_Id>0)

Para nombrar una restricción CHECK y definir una restricción CHECK en múltiples columnas, utilice la siguiente sintaxis SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')


Eliminar la restricción CHECK

Para eliminar una restricción CHECK, utilice el siguiente SQL:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT chk_Person

MySQL:

ALTER TABLE Persons
DROP CHECK chk_Person
Otras extensiones