Restricciones Check en SQL Server

Restricciones Check en SQL Server

Hay campos que en nuestras tablas necesitan alguna inspección previa antes de ser insertados, como el campo de dni el cual sólo debe aceptar números y evitar ingresar letras, siendo un código de 8 dígitos. Para estos casos usamos las restricciones check en SQL Server.

La sintáxis de las restricciones check se muestran a continuación:

ALTER TABLE dbo.DocExc   
ADD ColumnD int NULL
CONSTRAINT CHK_ColumnD_DocExc
CHECK (ColumnD > 10 AND ColumnD < 50);
GO
-- Adding values that will pass the check constraint
INSERT INTO dbo.DocExc (ColumnD) VALUES (49);
GO
-- Adding values that will fail the check constraint
INSERT INTO dbo.DocExc (ColumnD) VALUES (55);
GO
Referencia: https://docs.microsoft.com/en-us/sql/relational-databases/tables/create-check-constraints?view=sql-server-2017

Las restricciones check nos permiten condicionar nuestros campos para que los valores que ingresamos puedan limitarse a sólo los que cumplen la condición evitando así muchos errores de datos no deseados en nuestras tablas. Para empezar usaremos la base de datos Northwind y su tabla Productos.

Validaremos el campo "UnidadesEnExistencia" para que los valores del campo sean mayores igual a cero.

Restricciones check sql server

Agregamos el siguiente script y lo ejecutamos para crear la restricción check:

Script restriccion sql server

Cuando ejecutemos cada vez que tratemos de ingresar datos menores a cero nos aparecerá un mensaje de error, porque la restricción check permite validar el ingreso de datos evaluando la condición que colocamos.

Publicar un comentario

Guardar mi nombre, correo electrónico y sitio web en este navegador la próxima vez que comente

0 Comentarios