loop
  if ... then
    ....
    exit;
  end if
end loop;
for i in 1..100 loop
....
end loop;

解决方案 »

  1.   

    一楼正确,不过改成end if;
      

  2.   

    loop
      begin ...
    ....
      if ... then
       begin
        ....
       end;
      end if;
    ...
      end;
    end loop;
      

  3.   

    while(条件)
    loop
    .....
    exit when 条件;
    ....
    end loop;
      

  4.   

    有三种循环
    1、loop
          exit when 条件;
          .............
        end loop;
    2、 while 条件 loop
          ..............
        end loop;
    3、for i in 1..100 loop
         ..........
       end loop;
    还有一种是用隐式游标来实现的:
       for idx in (select a, b from tableA) loop
         ................
       end loop;
      

  5.   

    例如:
    DECLARE
    CURSOR c1 IS SELECT * FROM emp  FOR UPDATE OF sal; BEGIN
    FOR i IN c1
    LOOP
      
      IF (i.sal+i.sal*0.1)<=5000 THEN
       UPDATE emp SET sal=sal+sal*0.1 WHERE CURRENT OF c1;
       DBMS_OUTPUT.PUT_LINE(i.sal);
      END IF;
      
    END LOOP;
    END;