Restricción de verificación de SQL
Restricción de verificación de SQL
La CHECK
restricción se utiliza para limitar el rango de valores que se puede colocar en una columna.
Si define una CHECK
restricción en una columna, solo permitirá ciertos valores para esta columna.
Si define una CHECK
restricción en una tabla, puede limitar los valores en ciertas columnas en función de los valores en otras columnas de la fila.
VERIFICACIÓN SQL en CREAR TABLA
El siguiente SQL crea una CHECK
restricción en la columna "Edad" cuando se crea la tabla "Personas". La CHECK
restricción asegura que la edad de una persona debe ser de 18 años o más:
mysql:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CHECK (Age>=18)
);
Servidor SQL/Oracle/MS Access:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int CHECK (Age>=18)
);
Para permitir nombrar una CHECK
restricción y definir una
CHECK
restricción en varias columnas, use la siguiente sintaxis SQL:
MySQL/SQL Server/Oracle/MS Access:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
City varchar(255),
CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes')
);
VERIFICACIÓN SQL en ALTER TABLE
Para crear una CHECK
restricción en la columna "Edad" cuando la tabla ya está creada, use el siguiente SQL:
MySQL/SQL Server/Oracle/MS Access:
ALTER TABLE Persons
ADD CHECK (Age>=18);
Para permitir nombrar una CHECK
restricción y definir una
CHECK
restricción en varias columnas, use la siguiente sintaxis SQL:
MySQL/SQL Server/Oracle/MS Access:
ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes');
DROP una restricción CHECK
Para descartar una CHECK
restricción, use el siguiente SQL:
Servidor SQL/Oracle/MS Access:
ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;
mysql:
ALTER TABLE Persons
DROP CHECK CHK_PersonAge;