博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PLSQL基础语法三-异常
阅读量:6154 次
发布时间:2019-06-21

本文共 1543 字,大约阅读时间需要 5 分钟。

hot3.png

--异常处理--练习1:捕获no_data_found异常declare r_student student%rowtype;begin  select id,name,email,age into r_student from student where id=5;  dbms_output.put_line('name:'||r_student.name);  exception    when no_data_found then      dbms_output.put_line('数据没有找到');      when others then        dbms_output.put_line('其他异常');  end;--实际开发中,我们常常创建一个错误表来处理收集异常信息,通过sqlcode,sqlerrm这两个函数来收集信息  --sqlcode:返回错误代码--sqlerrm:返回与错误代码关联的消息/*create table tb_error(       id number primary key,       tablename varchar2(10),       sqlcode varchar2(50),       sqlerrm varchar2(200),       createdate date default sysdate);create sequence seq_tb_error;*/--练习2:处理异常declare r_student student%rowtype; v_sqlcode varchar2(50); v_sqlerrm varchar2(200);begin  select id,name,email,age into r_student from student where id=5;  dbms_output.put_line('name:'||r_student.name);  exception     when others then      v_sqlcode:=SQLCODE;      v_sqlerrm:=SQLERRM;      insert into tb_error values(seq_tb_error.nextval,'student',v_sqlcode,v_sqlerrm,default);      commit;  end;--练习3:自定义异常DECLARE     v_empno employees.employee_id%TYPE :=&empno;     no_result  EXCEPTION;              --1、定义  BEGIN     UPDATE employees SET salary = salary+100 WHERE employee_id = v_empno;     IF SQL%NOTFOUND THEN        RAISE no_result;                --2、抛出     END IF;  EXCEPTION     WHEN no_result THEN                --3、处理        DBMS_OUTPUT.PUT_LINE('你的数据更新语句失败了!');     WHEN OTHERS THEN        DBMS_OUTPUT.PUT_LINE(SQLCODE||'---'||SQLERRM);  END;

转载于:https://my.oschina.net/kkrgwbj/blog/470145

你可能感兴趣的文章
CodeCombat森林关卡Python代码
查看>>
(二)Spring Boot 起步入门(翻译自Spring Boot官方教程文档)1.5.9.RELEASE
查看>>
Shell基础之-正则表达式
查看>>
JavaScript异步之Generator、async、await
查看>>
讲讲吸顶效果与react-sticky
查看>>
c++面向对象的一些问题1 0
查看>>
售前工程师的成长---一个老员工的经验之谈
查看>>
Get到的优秀博客网址
查看>>
老男孩教育每日一题-第107天-简述你对***的理解,常见的有哪几种?
查看>>
Python学习--time
查看>>
在OSCHINA上的第一篇博文,以后好好学习吧
查看>>
Spring常用注解
查看>>
linux:yum和apt-get的区别
查看>>
Sentinel 1.5.0 正式发布,引入 Reactive 支持
查看>>
数据库之MySQL
查看>>
2019/1/15 批量删除数据库相关数据
查看>>
数据类型的一些方法
查看>>
Webpack 2 中一些常见的优化措施
查看>>
移动端响应式
查看>>
js中var、let、const的区别
查看>>