Oracle Verifique restrição

Oracle Verifique restrição

Integridade do domínio de dados ou integridade do domínio é um recurso de banco de dados que garante que todos os dados fornecidos em uma coluna de tabela aderem a um conjunto definido de valores válidos. Esse recurso minimiza a corrupção de dados e duplica os valores em um determinado banco de dados.

Neste tutorial, você aprenderá como aplicar a integridade do domínio em seu banco de dados Oracle usando a restrição de verificação.

Oracle Verifique restrição

Uma restrição de verificação nos permite definir expressões lógicas que podem retornar verdadeiras ou falsas. O mecanismo de banco de dados avaliará todos os dados inseridos ou atualizados nessa coluna para garantir que ele adere às regras de expressão.

Se os dados seguirem as regras de expressão, o mecanismo de banco de dados aceita os dados e permite a instrução Inserir ou Atualizar. Caso contrário, se os dados não cumprirem as leis, o mecanismo de banco de dados rejeita os dados e nega a operação de inserção ou atualização.

Uma única coluna pode ter uma ou mais restrições de verificação, desde que não entrem em conflito com as outras restrições de cheques existentes. Além disso, a ordem da avaliação da expressão não deve ser assumida.

Da mesma forma, você pode ter mais de uma coluna com uma restrição de cheque.

Regras de uma restrição de cheque no Oracle

Ao definir uma restrição de verificação nos bancos de dados da Oracle, verifique se:

  1. A restrição de verificação é definida em uma tabela Oracle e não em uma visão.
  2. A restrição de verificação deve se referir apenas às colunas nessa tabela e não às tabelas estrangeiras.
  3. Uma restrição de cheque não pode ser definida em uma subconsulta.
  4. Uma expressão de restrição de verificação não pode incluir funções não determinísticas, funções definidas pelo usuário, mesas aninhadas, colunas pseudo.

Oracle Crie restrição de verificação

Recomenda -se criar uma restrição de verificação ao criar uma tabela. Isso garante que todos os dados inseridos ou atualizados na tabela correspondam às regras da restrição.

A seguir, é apresentada a sintaxe para adicionar uma restrição de verificação durante a criação da tabela:

Crie Table Table_name (
colunas,
column_name, data_type verificação (restrint_expression);
);

Para definir uma restrição de verificação, começamos com o nome da coluna em que desejamos aplicar a restrição ao lado, o tipo de dados da coluna e a palavra-chave de verificação. Finalmente, a expressão de restrição é fornecida dentro de um par de parênteses.

Embora não seja necessário, às vezes pode ser necessário atribuir um identificador exclusivo à restrição de verificação manualmente; Nesse cenário, você pode usar a declaração de restrição:

Crie Table Table_nam (
colunas
Restrição restrição_name
Verifique (restant_expression)
);

Oracle crie exemplo de restrição

O exemplo a seguir cria uma tabela de produtos com uma restrição de cheque que garante que o estoque esteja sempre disponível:

Crie produtos de tabela (
Número Product_id gerado por padrão como identidade,
product_name varchar2 (255) não nulo,
Número de quantidade não é verificação nula (quantidade> 0),
número de preço,
Chave primária (product_id)
);

Na tabela acima, definimos a coluna de quantidade com uma restrição de verificação que garante que o valor dos dados dessa coluna seja maior que 0.

Nesse caso, a restrição garante que os produtos armazenados no banco de dados estejam sempre em estoque.

Se tentarmos adicionar um registro em que a quantidade é 0 ou um número negativo, o Oracle retornará um erro e falhará a solicitação de inserção.

Exemplo:

Inserir em produtos (product_name, quantidade, preço) valores ('Microsoft Volterra', 0, 599);

A solicitação acima retorna um erro:

Erro SQL [2290] [23000]: ORA-02290: Verifique a restrição (RH.SYS_C007662) violado

Oracle Drop Check Restrind

Depois de não precisar mais de uma restrição de verificação em sua mesa, você pode soltá -la da tabela usando o alter

Comando de restrição de gota de tabela:
Alterar tabela tabela_name
Soltar restrição restant_name;

Oracle desabilita a restrição de verificação

Às vezes, você pode desativar temporariamente uma restrição sem removê -la da mesa. Use o comando:

Alterar tabela tabela_name
Desativar restrição restrição_name;

Oracle Ativar restrição de verificação

Para ativar uma restrição de verificação inativa, execute o seguinte:

Alterar tabela tabela_name
Ativar restrição restrição_name;

Conclusão

Neste tutorial, você descobriu como usar a restrição de verificação nos bancos de dados Oracle para permitir apenas valores que correspondam a uma condição específica a ser adicionada ou atualizada em uma determinada tabela.