Crear restricciones CHECK

Se aplica a: síSQL Server (todas las versiones admitidas) SíAzure SQL Database

Puede crear una restricción CHECK 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.

En este tema

Antes de comenzar

Seguridad

Permisos

Requiere permisos ALTER en la tabla.

Uso de SQL Server Management Studio

Para crear una restricción CHECK nueva

  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 haga clic en Nueva restricción.

  2. En el cuadro de diálogo Comprobar restricciones, haga clic en el campo Expresión y luego en 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 OR SellEndDate IS NULL  
    

    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. Haga clic en 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.

    A: Seleccione Sí en los campos siguientes:
    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. Haga clic en Cerrar.

Usar Transact-SQL

Para crear una restricción CHECK nueva

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

  2. En la barra de Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar.

    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  
    
    

Para obtener más información, vea ALTER TABLE (Transact-SQL).