Declaração do caso Oracle PL/SQL

Declaração do caso Oracle PL/SQL

O fluxo de controle é um dos principais blocos de construção da programação. Ele define a ordem em que os vários blocos de código são executados em um programa.

Como a maioria das linguagens de programação, a linguagem Oracle PL/SQL fornece várias declarações de fluxo de controle, como se-then, caso, para, enquanto, etc.

Neste post, aprenderemos a trabalhar com a declaração de caso em PL/SQL para introduzir o fluxo de controle em nossas consultas Oracle.

Introdução à declaração do caso

A declaração do caso permite definir uma sequência de declarações. A declaração do caso seleciona uma sequência a ser executada com base na condição especificada.

Pense nisso como uma maneira mais eficiente de declarar um conjunto de blocos if-então, enquanto preserva a legibilidade.

Podemos expressar a sintaxe da declaração do caso no Oracle, como mostrado no seguinte:

CASO
Quando condição1 então result1
Quando condicionar2 então resultado2
..
Caso contrário, resultado
FIM

A declaração do caso avalia cada condição na quando as cláusulas nesta sintaxe.

Se a declaração encontrar uma declaração correspondente, ele retornará o resultado correspondente. No entanto, em alguns casos, a declaração do caso pode não encontrar uma condição correspondente. Nesse cenário, a declaração executa o resultado que é definido no bloco else.

OBSERVAÇÃO: O bloco else é opcional. Se indisponível, o mecanismo de banco de dados usa a seguinte sintaxe:

OUTRO:
Levantar case_not_found;

Isso permite que o mecanismo de banco de dados aumente uma exceção e pause a execução quando não houver condição de correspondência.

Exemplo 1: Exemplo básico da instrução CASE

Este exemplo mostra um exemplo básico de uso do operador de caso no Oracle:

declarar
número da idade;
Char de entrada (10);
começar
idade: = 24;
idade do caso
quando 17 então
entrada: = 'negado';
quando 24 então
Entrada: = '9.99 ';
Quando 45 então
Entrada: = '15.99 ';
outro
entrada: = 'não permitido';
caso final;
Dbms_output.Put_line (entrada);
fim;

A ilustração fornecida deve testar qualquer condição de correspondência e retornar o status correspondente. Por exemplo, como a condição de correspondência é 24, a cláusula retorna da seguinte maneira:

9.99

Exemplo 2: Declaração do caso com uma tabela de banco de dados

Este exemplo usa a instrução CASE com uma tabela de banco de dados.

Selecione First_Name, Last_Name, Salário,
caso
Quando o salário 2500 e depois 'alto'
outra 'desconhecida'
termine como salário_status
de funcionários;

A consulta fornecida usa a declaração do caso para testar a faixa salarial da mesa dos funcionários.

O valor resultante é como mostrado no seguinte:

Conclusão

Neste post, você aprendeu a usar a declaração de casos Oracle para testar as várias condições e executar uma ação se for verdade.