Uma restrição refere -se a uma regra que define como os dados em uma determinada coluna são aplicados. Uma restrição pode executar ações como impedir a inserção de valores nulos, impedindo a inserção de valores duplicados e mais.
Neste artigo, exploraremos uma das restrições práticas no servidor SQL chamado Check Restrint. Uma restrição de verificação é usada principalmente para garantir a integridade dos dados em uma determinada coluna.
Usando uma restrição de verificação, você pode garantir que os dados que são adicionados a uma determinada coluna avalia constantemente a um determinado valor booleano. Por exemplo, você pode adicionar uma restrição de verificação que garante que apenas os valores após uma data específica sejam adicionados a essa coluna.
Vamos discutir mais isso.
Restrição de verificação do servidor SQL
Existem duas maneiras de adicionar uma restrição de cheque a uma coluna de mesa:
É sempre uma excelente prática adicionar uma restrição durante a criação de mesa. Isso garante que a regra seja aplicada a todos os dados nessa coluna.
Para ilustrar, pegue a definição de tabela que é mostrada no seguinte:
Crie usuários de tabela (
Id int Identity Key Primária,
nome de usuário varchar (100) não nulo,
Verificação de data de inscrição (Enroll_date> '2022-01-01')
);
Na tabela de exemplo dada, criamos três colunas, cada uma com seu tipo de dados e valores exclusivos. No entanto, na coluna Enroll_date, definimos a restrição de verificação que verifica se qualquer valor de data agregado a essa coluna é maior que 2022-01-01.
Começamos chamando a palavra -chave de verificação seguida pela expressão booleana que desejamos aplicar a essa coluna.
Você também pode definir um nome para a restrição usando a palavra -chave restrição. Um exemplo é o seguinte:
Crie usuários de tabela (
Id int Identity Key Primária,
nome de usuário varchar (100) não nulo,
restrição de data de inscrição verificada_date Verificação (Enroll_date> '2022-01-01')
);
Nesse caso, atribuímos o nome que é o "Verify_date" à restrição criada. Nomear uma restrição pode facilitar sua vida quando você precisa remover ou atualizar os parâmetros de restrição.
OBSERVAÇÃO: Você não pode ter restrições sem nome em seu banco de dados. Portanto, se nenhum nome for fornecido, o SQL Server gera automaticamente um nome para sua restrição.
Depois de definirmos uma restrição, podemos adicionar os dados como mostrado no seguinte:
inserir
em
usuários (nome de usuário,
Enroll_date)
valores ('user1',
'2022-01-02');
Você pode notar que a declaração de inserção anterior adere às regras de restrição na coluna Entroll_date.
No entanto, se violarmos as regras dessa restrição, o servidor SQL retornará um erro como ilustrado no seguinte:
inserir
em
usuários (nome de usuário,
Enroll_date)
valores ('user2', '2021-12-31');
Saída:
Erro SQL [547] [23000]: A declaração de inserção conflitou com a restrição de cheque "verify_date". O conflito ocorreu no banco de dados "resolvedor", tabela "DBO.Usuários ", coluna 'inscrol_date'.
Como você pode ver, o SQL Server alerta você sobre a violação de restrição pela declaração de inserção.
Modificando uma restrição existente
Para alterar a definição de uma restrição existente usando transact-sql, você deve excluir a restrição e recriá-la com as novas definições.
Adicionando uma restrição de verificação a uma tabela existente
Para adicionar uma restrição de verificação a uma tabela existente, você usa a sintaxe fornecida no seguinte:
Alterar tabela tabela_name
Adicionar restrição restrição_name verificação (restrint_definition);
Removendo uma restrição de cheque
Para remover uma restrição de verificação, você pode usar o comando ALTER TABLE, conforme mostrado no seguinte:
Alterar tabela tabela_name
Soltar restrição restant_name;
Desativando uma restrição
Você pode pular as regras de restrição sem retirar a restrição, desativando -a. A seguir, mostra a sintaxe para desativar uma restrição:
Alterar tabela tabela_name
Restrição de restrição de restrição de NOCHECK;
A sintaxe dada deve desativar a restrição para declarações de inserção e atualização.
Conclusão
Nesta postagem, exploramos como usar o trabalho com a restrição de verificação no servidor SQL. Discutimos sobre como criar uma nova restrição, como alterar uma restrição, como desativar uma restrição e como soltar uma restrição de uma mesa.