oracle loop while for 异常处理、自定义异常


1、LOOP循环案例 loop和IF的结合
declare
x number;
begin
x:=0;
loop –循环开始
x:=x+1;
if x>3 then –循环体
exit;
end if;
dbms_output.put_line(‘内x的值'||x); –循环体
end loop; –结束循环
dbms_output.put_line(‘外X的值'||x);
end;
/
输出结果:
内x的值1
内x的值2
内x的值3
外X的值4

2、while和loop结合循环的案例

declare
x number;
y varchar2(10);
begin
x:=1;
while xx:=x+1;
dbms_output.put_line(‘x的值为'||x);
end loop; –结束循环
end;
/

3、for和loop结合循环的案例[reverse]是可选的,意思是说反过来5..1的意思,在Oracle的for循环递增量只能是1,不能修改
begin
for I [reverse] in 1..5 loop –for和loop结合
dbms_output.put_line(‘i的值'||i);
end loop;
dbms_output.put_line(‘out');
end;
/

4、通过goto自己控制每一步循环的方式

declare
x number;
begin
x:=0;
> –定义goto标签
x:=x+1; –这里加几就是控制step的方法
dbms_output.put_line(x);

goto gsign; –将语句定义到上面goto的地方
end if;
end;
/

处理表:
《案例在下面》

5、Oracle中处理的案例
declare
x varchar2(10);
begin
select a1 into x from a where a2='qwe'; –将值查询出来赋值给变量
dbms_output.put_line(‘x的值'||x);
exception
处理数据,如果不存在的话怎么办?
when NO_DATA_FOUND then dbms_output.put_line(‘没有数据');
end;
/

6、Oracle自定义 e Exception
declare
x varchar2(10);
e exception; –定义exception变量
begin
select a1 into x from a where a2='mmm';
if x ‘qqq' then
raise e; –自定义必须要raise一下
end if;
exception
when e then –然后exception里面就这么写就可以了
dbms_output.put_line(‘aaaaaa');
end;
/
[] view plaincopy
退出循环用exit when boolean判断

声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 智乐兔
转载请注明:转自《oracle loop while for 异常处理、自定义异常
本文地址:https://www.zhiletu.com/archives-298.html
关注公众号:智乐兔

赞赏

wechat pay微信赞赏alipay pay支付宝赞赏

上一篇
下一篇

相关文章

在线留言

你必须 登录后 才能留言!

在线客服
在线客服 X

售前: 点击这里给我发消息
售后: 点击这里给我发消息

智乐兔官微