Introdução aos loops no PL / SQL

Linguagem procedural / Linguagem de consulta estruturada ou PL / SQL é a extensão processual da Oracle Corporation para o Oracle RDBMS. O PL / SQL estendeu o SQL adicionando construções usadas em linguagens procedurais para permitir uma programação mais complexa do que o SQL fornece. Exemplos dessas estruturas são IF … THEN … ELSE, loops básicos, loops FOR e WHILE.

Explicar diferentes tipos de loops no PL / SQL

Este artigo explicará que a estrutura de controle iterativo significa loops de PL / SQL; permitirá que você execute o mesmo código repetidamente. O PL / SQL fornece três tipos diferentes de tipos de loop:

  • O loop simples ou infinito
  • O loop FOR
  • O loop WHILE

Aqui, cada loop é projetado para uma finalidade específica, regras de uso e diretrizes para criação de alta qualidade.

Exemplos de diferentes loops

Considere os três procedimentos a seguir para entender diferentes loops e sua capacidade de resolver problemas de maneiras diferentes.

1. O laço simples

Esse loop é tão simples quanto seu nome. Começa com a palavra-chave LOOP e termina com a instrução final "END LOOP".

Sintaxe

LOOP
The sequence of statements;
END LOOP;

Aqui, conforme a palavra-chave da sintaxe acima, 'LOOP' marca o início do loop e 'END LOOP' indica o final do loop. A sequência da parte da instrução pode conter qualquer instrução para execução.

Exemplo de loop simples

Vamos escrever um programa para imprimir a tabuada de multiplicação de 18.

Aqui no loop acima, não temos a instrução "EXIT"; significa que a execução da saída continuará infinita até fecharmos este programa manualmente.

Consulte o programa abaixo com a instrução Exit:

Explicação do programa acima

Na seção de declaração, declaramos duas variáveis; A variável v_counter servirá como um contador e v_result manterá o resultado da multiplicação.

Na seção de execução, temos nosso loop simples, aqui temos três instruções.

  • A primeira declaração funcionará como nossa declaração de atualização; isso atualizará nosso contador e aumentará em 1.
  • A segunda declaração é uma expressão aritmética, que realizará a multiplicação da nossa tabela e armazenará o resultado na variável v_result.
  • A terceira instrução é uma instrução de saída, que imprimirá o resultado da multiplicação de maneira formatada.

Declaração de uso da saída

Conforme a instrução exit, se v_counter> = 10, faça um loop com uma saída, o que significa que o loop será executado 10 vezes.

Resultado:

2. O loop FOR

O loop FOR permite executar o bloco de instruções repetidamente por um número fixo de vezes.

Sintaxe

FOR loop_counter IN (REVERSE) lower_limit .. upper_limit LOOP
Statement1;
Statement2;
….Statement3;
END LOOP;

  • A primeira linha da sintaxe é a instrução de loop em que as palavras-chave FOR marcam o início do loop seguido pelo contador de loop, que é uma variável inteira do índice implícita.
  • Isso significa que você não precisa definir essa variável na seção de declaração; ela também aumentará 1 implicitamente em cada iteração do seu loop, ao contrário dos outros loops nos quais temos que definir o contador de loops.
  • A palavra-chave IN é essencial para estar no programa FOR Loop.
  • A palavra-chave REVERSE não é obrigatória, mas sempre usada em conjunto com a palavra-chave IN.
  • Se a palavra-chave REVERSE for usada, o loop irá iterar na ordem inversa.
  • lower_limit e upper_limit são dois números inteiros. Essas duas variáveis ​​definem uma série de iterações do loop.
  • Dois pontos entre essas duas variáveis ​​servem como operador de faixa.
  • Depois, temos o corpo do loop, que pode ser uma declaração ou um grupo de declarações.
  • No final, temos a frase END LOOP que indica o final do loop.

Exemplo 1

Aqui, conforme o programa acima, temos nosso loop FOR, que imprimirá o valor da variável v_counter de 11 a 20.

Resultado:

Exemplo 2: Agora vamos imprimir o mesmo na ordem inversa usando o loop FOR.

Basta adicionar a palavra-chave REVERSE após IN e antes de 11, isso executará o mesmo o / p, mas na ordem inversa.

3. O loop WHILE

Enquanto loop executa instruções do programa várias vezes, também é melhor usado para o programa quando nenhuma iteração é desconhecida.

Sintaxe

WHILE condition LOOP
Statement 1;
Statement 2;

Statement N;
END LOOP;

  • Diferente de outro loop WHILE da sintaxe, a sintaxe é muito fácil de entender. Aqui, de acordo com a sintaxe acima, 'WHILE' marca o início do loop junto com a condição e 'END LOOP' indica o final do loop.
  • As instruções de 1 a N são as instruções executáveis, definidas no corpo do loop. Além disso, no final, mencionamos o END LOOP, que indica o final do loop while.
  • Para executar instruções dentro do corpo do loop While, a condição precisa ser verdadeira.

Exemplo: imprima a tabela de multiplicação de 17 usando o loop while.

  • Neste exemplo, temos a primeira variável "v_counter" que servirá como contador e a segunda variável é "v_result", isso manterá o resultado da multiplicação.
  • Aqui, a primeira instrução é uma expressão aritmética dentro do loop WHILE, que realizará a tarefa de multiplicação e resultado da tabela, será armazenada em v_result.
  • A segunda instrução é a instrução print, que imprimirá os resultados da multiplicação. A terceira instrução é contador de atualização, que atualizará o contador a cada iteração
  • Esse loop while continuará trabalhando até que tenhamos um valor de contador maior ou igual a 10 e enquanto o loop será finalizado após o valor de 10 contadores.

Resultado:

Vantagens de loops em PL / SQL

  • A reutilização do código é a melhor vantagem dos loops, não precisamos escrever código repetidamente para cada iteração. Usando loops, podemos reutilizar o código em todas as iterações.
  • Os loops também nos ajudam a reduzir o tamanho do código ou do programa. Tudo o que precisamos fazer é escrever um código simples e colocá-lo dentro de qualquer loop para concluir o trabalho sem codificar para saídas diferentes do mesmo programa.
  • A redução da complexidade também adicionou a vantagem dos loops.

Conclusão - Loops em PL / SQL

SQL é a única interface para um banco de dados relacional e PL / SQL é uma extensão processual para SQL. É importante entender como o SQL funciona e projetar bancos de dados e lógica de negócios corretamente para obter o conjunto de resultados correto. O PL / SQL pode ser usado dentro do banco de dados e possui muitos recursos poderosos. Existem muitas melhorias no PL / SQL no Oracle Database 12.1. Use SQL sempre que possível, mas se sua consulta ficar muito complicada ou forem necessários recursos procedimentais, é melhor usar PL / SQL.

Artigos recomendados

Este foi um guia para os Loops em PL / SQL. Aqui também discutimos vantagens e diferentes tipos de loops com exemplos. Você também pode dar uma olhada nos seguintes artigos para saber mais:

  1. O que é PL / SQL?
  2. Teste de escalabilidade
  3. O que é a linguagem de programação R?
  4. O que é PHP?
  5. As 36 principais palavras-chave no SQL com exemplos
  6. Loops no PowerShell | Tipos | Benefícios