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.
Agregamos el siguiente script y lo ejecutamos para crear la restricción check:
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
0 Comentarios