segunda-feira, 3 de janeiro de 2011

Usando o FOR

A sintaxe do FOR Loop é:

FOR loop_counter IN [REVERSE] lowest_number..highest_number
LOOP
     {.statements.}
END LOOP;

Você deve usar o FOR Loop quando quiser executar o mesmo código um determinado número de vezes.
Veja um exemplo:

DECLARE
    Lcntr integer;
    LCalc integer;
BEGIN
  DBMS_OUTPUT.put_line ('Lcntr   LCalc');
  DBMS_OUTPUT.put_line ('-----   -----');
  FOR Lcntr IN 1..20
  LOOP
       LCalc := Lcntr * 31;
       DBMS_OUTPUT.put_line (lpad(Lcntr,5,'0') || '   ' || lpad(LCalc,5,'0'));
  END LOOP;
END;

Resultado

Lcntr   LCalc
-----   -----
00001   00031
00002   00062
00003   00093
00004   00124
00005   00155
00006   00186
00007   00217
00008   00248
00009   00279
00010   00310
00011   00341
00012   00372
00013   00403
00014   00434
00015   00465
00016   00496
00017   00527
00018   00558
00019   00589
00020   00620
Este exemplo fará o Loop 20 vezes. O contador será iniciado em 1 e irá parar no 20.
O FOR Loop também pode ser usado de forma decrescente.
Veja um exemplo:

DECLARE
    Lcntr integer;
    LCalc integer;
BEGIN
  DBMS_OUTPUT.put_line ('Lcntr   LCalc');
  DBMS_OUTPUT.put_line ('-----   -----');
  FOR Lcntr IN REVERSE 1..15
  LOOP
       LCalc := Lcntr * 31;
       DBMS_OUTPUT.put_line (lpad(Lcntr,5,'0') || '   ' || lpad(LCalc,5,'0'));      
  END LOOP;
END;

Resultado

Lcntr   LCalc
-----   -----
00015   00465
00014   00434
00013   00403
00012   00372
00011   00341
00010   00310
00009   00279
00008   00248
00007   00217
00006   00186
00005   00155
00004   00124
00003   00093
00002   00062
00001   00031
Este comando fará o Loop 15 vezes. O contador será iniciado em 15 e irá parar no 1.
Related Posts Plugin for WordPress, Blogger...