Oracle PL / SQL PARA LOOP com Exemplo

Índice:

Anonim

O que é For Loop?

A instrução "FOR LOOP" é mais adequada quando você deseja executar um código por um número conhecido de vezes, em vez de com base em algumas outras condições.

Neste loop, o limite inferior e o limite superior serão especificados e, enquanto a variável do loop estiver entre esta faixa, o loop será executado.

A variável de loop é autoincremental, portanto, nenhuma operação de incremento explícita é necessária neste loop. A variável de loop não precisa ser declarada, pois é declarada implicitamente.

FOR  in LOOPEND LOOP;
Explicação da sintaxe:
  • Na sintaxe acima, a palavra-chave 'FOR' marca o início do loop e 'END LOOP' marca o fim do loop.
  • A variável de loop é avaliada todas as vezes antes de executar a parte de execução.
  • O bloco de execução contém todo o código que precisa ser executado. A parte de execução pode conter qualquer instrução de execução.
  • O loop_variable é declarado implicitamente durante a execução de todo o loop, e o escopo desta loop_variable estará apenas dentro deste loop.
  • Se a variável do loop saiu da faixa, o controle sairá do loop.
  • O loop pode ser feito para funcionar na ordem inversa, adicionando a palavra-chave 'REVERSE' antes do limite_inferior.

Exemplo 1 : Neste exemplo, vamos imprimir um número de 1 a 5 usando a instrução de loop FOR. Para isso, executaremos o seguinte código.

BEGINdbms Qutput.put linef.Prp.gram started.' );FOR a IN 1… 5LOOPdbms_output.put_line(a);END LOOP:dbms_output.put_iine('Program completed.');END;/

Explicação do código:

  • Linha de código 2 : Imprimindo a instrução "Programa iniciado".
  • Linha de código 3: a palavra-chave 'FOR' marca o início do loop e loop_variable 'a' é declarada. Agora terá o valor começando de 1 a 5
  • Linha de código 5: Imprime o valor de 'a'.
  • Linha de código 6: a palavra - chave 'END LOOP' marca o fim do bloco de execução.
  • O código da linha 5 continuará a ser executado até que 'a' alcance o valor 6, pois a condição irá falhar e o controle SAIRÁ do loop.
  • Linha de código 7: Imprimindo a declaração "Programa concluído"

Loops aninhados

As instruções de loop também podem ser aninhadas. O loop externo e o interno podem ser de tipos diferentes. No loop aninhado, para cada valor de iteração do loop externo, o loop interno será executado completamente.

LOOP -outerLOOP - innerEND LOOP;END LOOP;
Explicação da sintaxe:
  • Na sintaxe acima, o loop externo possui mais um loop dentro dele.
  • Os loops podem ser de qualquer tipo e a parte da funcionalidade de execução é a mesma.

Exemplo 1 : Neste exemplo, vamos imprimir um número de 1 a 3 usando a instrução de loop FOR. Cada número será impresso tantas vezes quanto seu valor. Para isso, executaremos o seguinte código.

DECLAREb NUMBER;BEGINdbms output put line(‘Program started' );FOR a IN 1… 3LOOPb:=1;WHILE (a>=b)LOOPdbms output put line(a);b:=b+1;END LOOP;‭ END LOOP;‭ ‬dbms_output.put_line('Program completed' );END;/

Explicação do código:

  • Linha de código 2 : Declarando a variável 'b' como tipo de dados 'NUMBER'.
  • Linha de código 4 : Imprimindo a instrução "Programa iniciado".
  • Linha de código 5: a palavra-chave 'FOR' marca o início do loop e loop_variable 'a' é declarada. Agora terá o valor começando de 1 a 3
  • Linha de código 7: Redefinindo o valor de 'b' para '1' a cada vez.
  • Linha de código 8: O loop interno while verifica a condição a> = b.
  • Linha de código 10: Imprime o valor de 'a' desde que a condição acima seja satisfeita.
  • Linha de código 14: Imprimindo a declaração "Programa concluído"

Resumo

Laço FOR Loop
Critério de saída Saia quando o contador atingir o limite
Uso Bom para usar quando a contagem de loop a ser executada é conhecida.