Crear restricciones CHECK
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance
Puede crear una restricción de comprobación en una tabla para especificar los valores de datos aceptables en una o más columnas de SQL Server mediante SQL Server Management Studio o Transact-SQL. Para obtener más información sobre cómo agregar restricciones de columna, consulte ALTER TABLE column_constraint.
Para más información, consulte Restricciones UNIQUE y CHECK.
Comentarios
Para realizar consultas a restricciones de comprobación existentes, use la vista de catálogo del sistema sys.check_constraints.
Permisos
Debe tener permisos de ALTER
en la tabla.
Uso de SQL Server Management Studio
En el Explorador de objetos, expanda la tabla a la que quiera agregar una restricción CHECK, haga clic con el botón derecho en Restricciones y seleccione Nueva restricción.
En el cuadro de diálogo Comprobar restricciones, seleccione el campo Expresión y luego los puntos suspensivos (...).
En el cuadro de diálogo Expresión de restricción CHECK , escriba expresiones SQL para la restricción CHECK. Por ejemplo, para limitar las entradas de la columna
SellEndDate
de la tablaProduct
a un valor que sea mayor o igual que la fecha de la columnaSellStartDate
o que sea un valorNULL
, escriba:SellEndDate >= SellStartDate
O bien, para exigir que las entradas que se escriben en la columna
zip
tengan 5 dígitos, escriba:zip LIKE '[0-9][0-9][0-9][0-9][0-9]'
Nota:
Asegúrese de que escribe los valores de restricción no numéricos entre comillas sencillas (
'
).Seleccione Aceptar.
En la categoría Identidad , puede cambiar el nombre de la restricción CHECK y agregar una descripción (propiedad extendida) para la restricción.
En la categoría Diseñador de tablas , puede definir cuándo debe exigirse la restricción.
Action Seleccione Yes
para las siguientes opcionesPruebe la restricción en los datos existentes antes de que se creara la restricción Comprobar los datos existentes al crear o habilitar Exigir la restricción siempre que se produzca una operación de replicación en esta tabla Exigir para replicación Exigir la restricción siempre que se inserte o actualice una fila de esta tabla Exigir para comandos INSERT y UPDATE Seleccione Close (Cerrar).
Uso de Transact-SQL
En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.
En la barra Estándar, seleccione Nueva consulta.
Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar.
Primero, cree la restricción.
ALTER TABLE dbo.DocExc ADD ColumnD INT NULL CONSTRAINT CHK_ColumnD_DocExc CHECK ( ColumnD > 10 AND ColumnD < 50 ); GO
Para probar la restricción, agregue primero valores que pasan la restricción CHECK.
INSERT INTO dbo.DocExc (ColumnD) VALUES (49);
A continuación, intente agregar valores que producen un error en la restricción CHECK.
INSERT INTO dbo.DocExc (ColumnD) VALUES (55);