Nested IF Statements em Oracle PL/SQL

Introdução

Nesse artigo vamos explorar as Nested IF Statements em Oracle PL/SQL. Você já deve estar familiarizado com as estruturas básicas de controle condicional, como IF-THEN, IF-THEN-ELSE e ELSIF. Mas e se eu te disser que podemos combinar essas estruturas de formas ainda mais poderosas? É isso que vamos aprender hoje!

O que são Nested IF Statements?

Imagine que você está organizando suas roupas. Primeiro, você separa entre roupas de verão e inverno. Mas dentro das roupas de verão, você ainda pode separar entre roupas de praia e roupas casuais. É assim que funcionam os Nested IF Statements – são decisões dentro de decisões!

Em PL/SQL, podemos colocar uma estrutura IF dentro de outra. Isso nos permite criar lógicas mais complexas e tomar decisões mais refinadas em nossos programas.

Estrutura Básica

Vamos ver um exemplo simples:

Vamos ver uma representação visual:

Essa representação mostra:

  1. O IF externo
  2. Os ramos THEN e ELSE do IF externo
  3. O IF interno dentro do ramo ELSE do IF externo
  4. Os ramos THEN e ELSE do IF interno

 

Vamos ver como isso se aplicaria ao nosso exemplo anterior:

Neste exemplo, temos um IF externo e um IF interno. Vamos analisar:

  1. O IF externo compara v_num1 e v_num2.
  2. Se v_num1 for maior, ele subtrai v_num2 de v_num1.
  3. Caso contrário, ele soma os dois números.
  4. Dentro do ELSE, temos outro IF (o IF interno).
  5. Este IF interno verifica se o total é negativo e, se for, o torna positivo.

Como Funciona na Prática

amos supor que v_num1 seja -4 e v_num2 seja 3. Vamos seguir o fluxo:

  1. -4 não é maior que 3, então entramos no ELSE do IF externo.
  2. Somamos -4 e 3, resultando em -1.
  3. Como -1 é menor que 0, entramos no IF interno.
  4. Multiplicamos -1 por -1, tornando o resultado positivo.

O output seria:

Operadores Lógicos em Condições

Além de aninhar IFs, podemos usar operadores lógicos para criar condições mais complexas. Os principais são:

  • AND: Ambas as condições devem ser verdadeiras.
  • OR: Pelo menos uma condição deve ser verdadeira.

Vejamos um exemplo:

Este código verifica se o caractere inserido é uma letra (maiúscula ou minúscula) ou um número.

Níveis de Aninhamento

Você pode aninhar IFs quantas vezes quiser, mas lembre-se: com grande poder vem grande responsabilidade! Muitos níveis de aninhamento podem tornar seu código difícil de ler e manter.

Por exemplo:

Este código funciona, mas não é a melhor prática. Uma alternativa mais limpa seria:

Conclusão

Nested IF Statements são uma ferramenta poderosa em PL/SQL. Eles nos permitem criar lógicas complexas e tomar decisões refinadas. Lembre-se:

  1. Você pode aninhar IFs dentro de outros IFs.
  2. Use operadores lógicos para combinar condições.
  3. Evite aninhar demais – às vezes, uma condição única com AND/OR é mais clara.

Pratique bastante e você verá como essa técnica pode tornar seus programas mais flexíveis e poderosos!

Scroll to Top