-- 循环控制 loop,关键字:loop  exit when end loop

declare

  v_times number;

  v_currentTime number := 1;

begin

  v_times := '&输入打印helloworld的次数:';

  loop

    dbms_output.put_line('helloworld');

    v_currentTime := v_currentTime + 1 ; -- 在这里java += 不能用

    exit when v_currentTime > v_times;

  end loop;

end;

-- 循环控制while,关键字:while  loop  end loop

declare

  v_count number := 1;

begin

  while v_count <= 7

     loop

       dbms_output.put_line(v_count);

       v_count := v_count + 1;

     end loop;

  end;

 

-- 循环控制 for,关键字:for  in  reverse  loop end loop

declare

begin

   for  num in 1..5

     loop

       dbms_output.put(num); -- 不想换行的话,就用put,但控制台不会显示输出结果

       end loop

     dbms_output.new_line(); -- 换行后才显示以前不换行的输出结果

   for num in reverse 1..5

     loop

       dbms_output.put(num);

       end loop;

     dbms_output.New_Line(); -- 此处写成大写,Oracle里面好像是不区分大小写的

  end;

-- for循环练习乘法口诀表

declare

begin

  for i in 1..9

    loop -- 每一个for循环必须配套一个loop end loop

      for j in 1..i

        loop

          dbms_output.put(i||'*'||j||'='||i*j||'   ');

        end loop;

        dbms_output.new_line; -- 注意,括号可以不要,但规范写法不在这么写

     end loop;

  end;