CASE Expressions no Oracle PL/SQL

Olá! Nesse artigo vamos falar de CASE Expressions no Oracle PL/SQL. Vamos mergulhar nesse recurso poderoso que vai te ajudar a escrever códigos mais limpos e eficientes. Pronto para começar? Vamos lá!

O que são CASE Expressions?

Imagine que você está em uma sorveteria. Você olha para o cardápio e pensa: “Se tiver chocolate, vou pedir chocolate. Se não tiver, vou de baunilha.” Esse processo de decisão é exatamente o que uma CASE Expression faz no PL/SQL!

Uma CASE Expression é como um mini-programa dentro do seu código que avalia condições e retorna um único valor baseado nessas condições. É como se fosse um garçom inteligente que entende exatamente o que você quer baseado nas opções disponíveis.

CASE Expression vs. CASE Statement

Antes de entrarmos nos detalhes, é importante entender a diferença entre uma CASE Expression e um CASE Statement. Pense assim:

  • CASE Statement é como dar instruções: “Se for isso, faça aquilo.”
  • CASE Expression é como fazer uma pergunta: “Se for isso, qual é o resultado?”

A principal diferença é que uma CASE Expression sempre retorna um valor, enquanto um CASE Statement executa um bloco de código.

Sintaxe Básica

Vamos ver como escrever uma CASE Expression:

Parece simples, não é? Vamos ver um exemplo prático.

Exemplo: Números Pares e Ímpares

Imagine que queremos classificar um número como par ou ímpar. Veja como podemos fazer isso:

Neste exemplo, usamos a função MOD para verificar se o número é divisível por 2. Se for, é par; caso contrário, é ímpar. A CASE Expression retorna uma string que é armazenada na variável v_resultado.

CASE Expression em Consultas SQL

As CASE Expressions não se limitam apenas a blocos PL/SQL. Elas são muito úteis em consultas SQL também.

Para aplicarmos o conceito, primeiro vamos criar uma tabela chamada cursos:

Agora vamos aplicar o conceito:

Neste exemplo, usamos uma CASE Expression dentro de uma consulta SQL para formatar a saída do pré-requisito do curso.

Vamos ver um Exemplo adicional com um curso que tem pré-requisito:

Dica Importante: Consistência de Tipos de Dados

Um ponto crucial ao usar CASE Expressions é garantir que todos os resultados possíveis tenham o mesmo tipo de dado. No exemplo anterior, usamos TO_CHAR(pre_requisito) para converter o número do pré-requisito em uma string, mantendo a consistência com o caso em que não há pré-requisito.

Se não fizermos isso, o Oracle pode nos dar um erro de “tipos de dados inconsistentes”. É como tentar misturar água e óleo – simplesmente não funciona!

Conclusão

As CASE Expressions são ferramentas poderosas no seu arsenal PL/SQL. Elas permitem que você tome decisões complexas de forma elegante e eficiente. Lembre-se:

  1. Use CASE Expressions quando precisar de um valor baseado em condições.
  2. Mantenha a consistência dos tipos de dados nos resultados.
  3. CASE Expressions podem ser usadas tanto em blocos PL/SQL quanto em consultas SQL.

Pratique bastante e você verá como elas podem tornar seu código mais limpo e fácil de entender.

Rolar para cima