O fluxo de controle é um dos blocos de construção primários na programação. Ele define a ordem na qual 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 instruções de fluxo de controle, como IF-THEN, CASE, FOR, WHILE, etc.
Neste post, aprenderemos como trabalhar com a instrução CASE em PL/SQL para introduzir o fluxo de controle em nossas consultas Oracle.
Introdução à Declaração CASE
A instrução CASE permite definir uma sequência de instruções. A instrução case então seleciona uma sequência para executar com base na condição especificada.
Pense nisso como uma maneira mais eficiente de declarar um conjunto de blocos if-then, preservando a legibilidade.
Podemos expressar a sintaxe da instrução CASE no Oracle conforme mostrado a seguir:
CASOQUANDO condição1 ENTÃO resultado1
QUANDO condição2 ENTÃO resultado2
...
OUTRO resultado
FIM
A instrução CASE avalia cada condição nas cláusulas WHEN nesta sintaxe.
Se a instrução encontrar uma instrução correspondente, ela retornará o resultado correspondente. No entanto, em alguns casos, a instrução case pode não encontrar uma condição correspondente. Nesse cenário, a instrução executa o resultado definido no bloco ELSE.
NOTA : O bloco ELSE é opcional. Se indisponível, o mecanismo de banco de dados usa a seguinte sintaxe:
OUTRO:AUMENTE CASE_NOT_FOUND;
Isso permite que o mecanismo de banco de dados levante uma exceção e pause a execução quando não houver nenhuma condição correspondente.
Exemplo 1: Exemplo Básico de Instrução CASE
Este exemplo mostra um exemplo básico de uso do operador case no Oracle:
declararnúmero de idade;
entrada char(10);
começar
idade:= 24;
idade do caso
quando 17 então
entrada := 'denined';
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 correspondente e retornar o status correspondente. Por exemplo, como a condição correspondente é 24, a cláusula retorna da seguinte forma:
9,99Exemplo 2: instrução CASE com uma tabela de banco de dados
Este exemplo usa a instrução case com uma tabela de banco de dados.
selecione primeiro_nome, sobrenome, salário,caso
quando o salário é 2500, então 'Alto'
senão 'Desconhecido'
terminar como salario_status
de EMPREGADOS;
A consulta fornecida usa a instrução case para testar a faixa salarial da tabela dos funcionários.
O valor resultante é mostrado a seguir:
Conclusão
Nesta postagem, você aprendeu a usar a instrução case do Oracle para testar as várias condições e executar uma ação se uma for verdadeira.