Criar restrições de verificação

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do Azure

Você pode criar uma restrição de verificação em uma tabela para especificar quais valores de dados são aceitáveis em uma ou mais colunas no SQL Server usando o SQL Server Management Studio ou o Transact-SQL. Para saber como adicionar restrições de coluna, confira ALTER TABLE column_constraint.

Para obter mais informações, consulte Unique Constraints and Check Constraints.

Comentários

Para consultar restrições de verificação existentes, use a exibição do catálogo do sistema sys.check_constraints.

Permissões

Requer permissões ALTER na tabela.

Usar o SQL Server Management Studio

  1. No Pesquisador de Objetos, expanda a tabela à qual você deseja adicionar uma restrição de verificação, clique com o botão direito do mouse em Restrições e selecione Nova Restrição.

  2. Na caixa de diálogo Restrições de Verificação, clique no campo Expressão e selecione as reticências (…).

  3. Na caixa de diálogo Expressão de Restrição de Verificação , digite as expressões SQL da restrição de verificação. Por exemplo, para limitar as entradas na coluna SellEndDate da tabela Product a um valor maior ou igual à data na coluna SellStartDate ou a um valorNULL, digite:

    SellEndDate >= SellStartDate
    

    Para solicitar que as entradas na coluna zip tenham cinco dígitos, digite:

    zip LIKE '[0-9][0-9][0-9][0-9][0-9]'
    

    Observação

    Certifique-se de colocar os valores de restrição não numéricos entre aspas simples (').

  4. Selecione OK.

  5. Na categoria Identidade , você pode alterar o nome da restrição de verificação e adicionar uma descrição (propriedade estendida) para a restrição.

  6. Na categoria Designer de Tabela , você pode definir quando a restrição será imposta.

    Ação Selecione Yes para as seguintes opções
    Testar a restrição dos dados que existiam antes da criação da restrição Verificar Dados Existentes ao Criar ou Habilitar
    Impor a restrição sempre que uma operação de replicação ocorrer nesta tabela Impor para Replicação
    Impor a restrição sempre que uma linha desta tabela for inserida ou atualizada Impor para INSERTs e UPDATEs
  7. Selecione Fechar.

Usar o Transact-SQL

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.

  2. Na barra Padrão, selecione Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e selecione Executar.

    Primeiro, crie a restrição.

    ALTER TABLE dbo.DocExc
    ADD ColumnD INT NULL CONSTRAINT CHK_ColumnD_DocExc CHECK (
        ColumnD > 10
        AND ColumnD < 50
    );
    GO
    

    Para testá-la, primeiro adicione os valores que a transmitirão.

    INSERT INTO dbo.DocExc (ColumnD) VALUES (49);
    

    Em seguida, tente adicionar valores que resultarão em uma falha na restrição de verificação.

    INSERT INTO dbo.DocExc (ColumnD) VALUES (55);