Loops Simples em Oracle PL/SQL

Nesse artigo vamos aprender os loops simples em Oracle PL/SQL. Prepare-se para uma jornada de aprendizado que vai transformar a maneira como você escreve código!

Objetivos do Artigo

Ao final desta aula, você será capaz de:

  1. Utilizar Loops Simples com Condições EXIT
  2. Utilizar Loops Simples com Condições EXIT WHEN

Vamos começar destrinchando cada conceito, passo a passo.

O que é um Loop Simples?

Imagine que você está contando grãos de arroz. Em vez de contar um por um manualmente, você poderia usar uma máquina que conta automaticamente até você dizer “pare”. Esse é o princípio básico de um loop simples em programação.

Um loop simples é a estrutura de repetição mais básica em PL/SQL. Veja como ele se parece:

A palavra reservada LOOP marca o início do nosso loop simples. As instruções de 1 a N são executadas repetidamente. O END LOOP indica o fim da nossa estrutura de loop.

O Perigo do Loop Infinito

Aqui está um detalhe importante: se você usar apenas essa estrutura básica, seu loop vai rodar para sempre! É como se você dissesse à máquina de contar arroz “conte até eu mandar parar”, mas nunca desse o comando de parada. Por isso, chamamos isso de loop infinito.

Para evitar esse problema, precisamos de uma condição de saída. Existem duas formas principais de fazer isso: usando EXIT ou EXIT WHEN.

Usando a Instrução EXIT

A instrução EXIT é como um botão de emergência para o seu loop. Quando acionada, ela faz o loop parar imediatamente. Geralmente, usamos EXIT junto com uma condição IF. Veja a estrutura:

Quando a CONDIÇÃO_DE_SAÍDA é verdadeira, o loop para e o programa segue para a INSTRUÇÃO 3.

Vamos ver um exemplo prático:

Este código vai contar de 1 a 5 e depois imprimir “Pronto…”. A variável v_contador é o que chamamos de contador de loop.

A Importância da Inicialização

Atenção! É crucial inicializar a variável v_contador. Se você não fizer isso, o valor dela será NULL, e a expressão NULL + 1 resulta em NULL. Isso criaria um loop infinito, pois a condição de saída nunca seria verdadeira.

Posicionamento da Condição de Saída

O lugar onde você coloca a condição de saída é muito importante. Ele determina se todas as instruções dentro do loop serão executadas na última iteração. Veja este exemplo modificado:

Neste caso, o programa só imprimirá até 4, porque a condição de saída é verificada antes do DBMS_OUTPUT.PUT_LINE.

Usando a Instrução EXIT WHEN

A instrução EXIT WHEN é como um porteiro inteligente para o seu loop. Ela combina a condição e a saída em uma única linha. Veja a estrutura:

Vamos reescrever nosso exemplo anterior usando EXIT WHEN:

Este código produz exatamente o mesmo resultado que o exemplo com IF e EXIT, mas de uma forma mais concisa.

EXIT Fora de Loops

Cuidado! A instrução EXIT só é válida dentro de loops. Se você tentar usá-la fora de um loop, receberá um erro de sintaxe. Para sair de um bloco PL/SQL antes do fim normal, use a instrução RETURN:

Este código só imprimirá “Linha 1”, pois o RETURN encerra o bloco antes de chegar à segunda linha.

Loop de Uma Iteração

Se você usar EXIT sem uma condição logo no início do loop, ele só executará uma vez:

Este código só imprimirá “v_contador = 0” uma vez.

Exemplo Prático: Números Pares

Vamos criar um exemplo mais prático. Digamos que queremos imprimir os números pares de 2 a 10:

Este código imprimirá os números pares de 2 a 10 e depois uma mensagem final.

Conclusão

Loops simples são ferramentas poderosas em PL/SQL. Eles permitem que você repita ações de forma eficiente, economizando tempo e tornando seu código mais limpo e organizado. Lembre-se sempre de incluir uma condição de saída para evitar loops infinitos, e escolha entre EXIT e EXIT WHEN dependendo do que torna seu código mais legível e eficiente.

A prática é essencial para dominar loops. Experimente criar seus próprios exemplos, teste diferentes condições de saída e observe como o comportamento do loop muda. Com o tempo e prática, você se tornará um mestre em loops PL/SQL!

Scroll to Top