PLSQL嵌套块

外部块里嵌套三个匿名块:

匿名块1:查询部门名称
匿名块2:更改部门地址
匿名块3:处理异常,插入新的部门

总结:外部匿名块包含三个内部匿名块,
(1)第一个嵌套块如果找不到数据会直接调到异常no_data_found里
(2)第二个嵌套块只有当第一个匿名块得到执行以后才能够执行
(3)第三个嵌套块,这个块首先插入数据,如果插入数据的时候发生错误,会触发嵌套块里的异常块。

	declare
    l_deptno number := '70';
    l_loc    varchar2(20) := 'BeiJing';
    l_name   varchar2(20);
begin
    begin
        --匿名块1:查询部门名称
        select dname into l_name from t1 where deptno = l_deptno;
        dbms_output.put_line(l_deptno || '部门名称为' || l_name);
    end;
    declare
        v_deptno number := '20';
    begin
        --匿名块2:更改部门地址
        update t1 set loc = l_loc where deptno = v_deptno;
        commit;
    end;
    ---  匿名块3:处理异常,插入新的部门 
exception
    when no_data_found then
    begin---在异常处理快内部嵌套块
        insert into t1 values (l_deptno, 'HR'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值