oracle三种循环的使用及if语句的使用

对于oracle三种循环机嵌套if语句的使用

不论哪种循环都必须包含loop和end loop
当执行完成一个pl/sql语句段时,记得执行commit或者rollback语句完成事务的提交以及回滚

--sql developer的快捷代码提示为 Ctrl + alt + 空格

-- for循环
set serveroutput on;
declare
v_num number := 5;
begin
    for i in 1..v_num loop
        dbms_output.put_line(i);   
    end loop;
end;

-- loop循环

set serveroutput on;
declare
v_num number := 0;
begin
    loop
--    mod为求余,+,-,*,/,对于字符串相加连接使用||
        
        if  v_num = 4 then
            v_num := v_num + 1;
            CONTINUE;            
        ELSIF mod(v_num,2) = 0 then
            dbms_output.put_line('这是偶数值:'||v_num);
        ELSE
            dbms_output.put_line('这是基数值:'||v_num);
        end if;
        v_num := v_num + 1;
        exit when v_num > 6;
    end loop;
end;

-- while循环

set serveroutput on;
declare
v_num number := 0;
begin
    while v_num < 5 loop
        dbms_output.put_line(v_num);
        v_num := v_num + 1;
    end loop;
end;

-- 内外层的循环嵌套
begin
    <<loop_outer>>
    for i in 1..10 loop
-- exit可以直接退出循环类似python中break,exit .. when ..可以指定条件退出循环
    exit loop_outer when i=5;
-- continue可以直接退出循环,类似python中的continue,continue .. when ..可以指定条件退出循环
-- continue loop_outer when i=5;
    IF i = 5 or i=6 THEN
        <<inner_loop>>
        for j in 1..3 loop
        -- continue也可以直接退出到外层循环
        -- continue loop_outer when i=5;
            dbms_output.put_line('我是内层循环'||j);
        end loop inner_loop;
    END IF;
        dbms_output.put_line('此人未有学位');
    end loop loop_outer;
end;

注意for循环的反向,可以使用 reverse
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值