ORACLE 循环语句

/*
      FOR x IN N..M LOOP
          EXP...
      END LOOP;
*/

DECLARE
        v_start NUMBER(2):=1;
        v_end NUMBER(2):=10;
        v_num NUMBER(2): = 10;
BEGIN
  FOR v_num IN REVERSE  1..10 LOOP--v_start*1 .. v_end*2 LOOP
    DBMS_output.put_line(v_num);
    --global.v_num := `99;
  END LOOP;
END;


/*
      WHILE 条件 LOOP
            EXP ...
            -- EXIT WHEN 条件
      END LOOP;
*/
DECLARE v_num NUMBER(10):=1;
BEGIN
  WHILE v_num<=10 LOOP
        DBMS_output.put_line(v_num);
        v_num := v_num +1;
        EXIT WHEN v_num = 4;
  END LOOP;
END;

/*
      FOR X IN (select ...) LOOP
          直接使用 x.字段
      END LOOP;
*/
DECLARE v_num NUMBER(10) :=1;
BEGIN
    FOR i IN (SELECT * from user_objects uo where rownum<20) LOOP
        DBMS_output.put_line(i.object_name||','||i.subobject_name);
    END LOOP;
END;

/*
        LOOP 
             EXIT WHEN 条件
             EXP...
        END LOOP;
*/
DECLARE
    v_num NUMBER(10) := 1;
BEGIN
    LOOP
        EXIT WHEN v_num >= 10 ;
        DBMS_OUTPUT.PUT_LINE(V_NUM);
        v_num := v_num + 1 ;
    END LOOP;
END;



/*
    嵌套循环 
        使用标号 <<标号名>>
*/
DECLARE
    RESULT INT;
BEGIN
    <<OUTER>>
    FOR I IN 1 .. 10 LOOP
        <<INNER>>
        FOR J IN 1 .. 100 LOOP
            RESULT := I * J;
                        DBMS_OUTPUT.PUT_LINE(to_char(i) || '*' || to_char(j) || ':' ||to_char(RESULT));
            EXIT OUTER WHEN RESULT = 100;
            EXIT WHEN RESULT = 50;
        END LOOP INNER;
        DBMS_OUTPUT.PUT_LINE(RESULT);
    END LOOP OUTER;
    DBMS_OUTPUT.PUT_LINE(RESULT);
END;








DECLARE v_num NUMBER(10):=1;
BEGIN
        EXECUTE IMMEDIATE 'select 100+'||100||' from dual' INTO v_num ;
        --COMMIT;
        DBMS_output.put_line(v_num);
END;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值