Crear restricciones CHECK

Se aplica a:SQL ServerAzure SQL DatabaseAzure 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

  1. 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.

  2. En el cuadro de diálogo Comprobar restricciones, seleccione el campo Expresión y luego los puntos suspensivos (...).

  3. 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 tabla Product a un valor que sea mayor o igual que la fecha de la columna SellStartDate o que sea un valor NULL, 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 (').

  4. Seleccione Aceptar.

  5. 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.

  6. En la categoría Diseñador de tablas , puede definir cuándo debe exigirse la restricción.

    Action Seleccione Yes para las siguientes opciones
    Pruebe 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
  7. Seleccione Close (Cerrar).

Uso de Transact-SQL

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra Estándar, seleccione Nueva consulta.

  3. 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);