以下plsql程序用的scott用户的dept,emp表。

not_data_found例外:

  1. --系统列外
  2. set serveroutput on
  3.  
  4. declare
  5.  
  6. pename emp.ename%type;
  7.  
  8. begin
  9.  
  10. select ename into pename from emp where empno =1234;
  11.  
  12. exception
  13. when no_data_found then dbms_output.put_line('没有查到数据');
  14. when others then dbms_output.put_line('其他');
  15.  
  16. end;
  17. /

too_many_rows例外:

  1. --系统例外: too_many_rows
  2.  
  3. set serveroutput on
  4. declare
  5.  
  6. pename emp.ename%type;
  7.  
  8. begin
  9.  
  10. select ename into pename from emp where deptno = 10;
  11.  
  12. exception
  13. when too_many_rows then dbms_output.put_line('select into 匹配多行');
  14. when others then dbms_output.put_line('其他');
  15. end;
  16. /

算数或转换例外:

  1. --系统例外 : value_error
  2.  
  3. set serveroutput on
  4.  
  5. declare
  6.  
  7. pnum number;
  8. begin
  9. pnum := 'abc';
  10.  
  11. exception
  12. when value_error then dbms_output.put_line('算术或转换错误');
  13. when others then dbms_output.put_line('其他');
  14. end;
  15. /

0不能做除数例外:

  1. --系统例外 zero_divide
  2. set serveroutput on
  3.  
  4. declare
  5.  
  6. pnum number;
  7. begin
  8.  
  9. pnum := 1/0;
  10.  
  11. exception
  12. when zero_divide then dbms_output.put_line('0不能做除数');
  13. when others then dbms_output.put_line('其他');
  14. end;
  15. /

自定义例外:

  1. --自定义例外:
  2.  
  3. set serveroutput on
  4.  
  5. declare
  6.  
  7. cursor cemp is select ename from emp where deptno =50;
  8. pename emp.ename%type;
  9.  
  10. --自定义列外
  11. not_emp_data exception;
  12.  
  13. begin
  14. open cemp;
  15.  
  16. fetch cemp into pename;
  17.  
  18. if cemp%notfound then
  19. raise not_emp_data;
  20. end if;
  21. --如果程序程序中出现例外,oracle会通过pmon(process monitor)自动关闭清理资源
  22. close cemp;
  23.  
  24. exception
  25. when not_emp_data then dbms_output.put_line('自定义例外:没有查询到数据');
  26. when others then dbms_output.put_line('其他列外');
  27. end;
  28. /

知识点出处:http://www.imooc.com/learn/360

oracle plsql exception例外的更多相关文章

  1. Oracle PLSQL读取(解析)Excel文档

    http://www.itpub.net/thread-1921612-1-1.html !!!https://code.google.com/p/plsql-utils/ Introduction介 ...

  2. Oracle/PLSQL存储过程详解

    原文链接:https://blog.csdn.net/zezezuiaiya/article/details/79557621 Oracle/PLSQL存储过程详解 2018-03-14 17:31: ...

  3. Oracle/PLSQL: ORA-06550

    参考: http://blog.csdn.net/haiross/article/details/20612135 Oracle/PLSQL: ORA-06550 Learn the cause an ...

  4. MyEclipse+Weblogic+Oracle+PLSQL配置注意事项

    Weblogic配置详情:<Weblogic安装与配置图文详解>Oracle+PLSQL配置详情:<PL/SQL访问远程Oracle服务器(多种方式)>MyEclipse配置: ...

  5. oracle Plsql 运行update或者delete时卡死问题解决的方法

    oracle Plsql 运行update或者delete时 遇到过Plsql卡死问题或者导致代码运行sql的时候就卡死. 在开发中遇到此问题的时候,本来把sql复制出来,在plsql中运行,Sql本 ...

  6. oracle plsql基本语法

    oracle plsql 基本语法 --plsql默认规则:plsql赋值用":=" plsql判断用"=" plsql输入用"&" ...

  7. Oracle PLSQL语句实例

    /** * plsql:某个项目对效率要求比较高的时候用,一般不用,大多数项目写的是夸数据库平台的,用不上. * pssql大多数能做的东西,java都能替代它.在某些特殊的地方要求用plsql的时候 ...

  8. Oracle plsql存储过程中out模式参数的用法

    在plsql中,存储过程中的out模式的参数可以用来返回数据,相当于函数的返回值.下面是一个小例子. 沿用上一篇的emp表结构和数据. 存储过程如下: create or replace proced ...

  9. oracle plsql 捕获异常和抛出异常

    在写oracle存储过程的时候很多东西放到存储过程里面比如一些判断等,要比在程序逻辑里面简单很多,但是也会涉及到捕获和抛出一样的问题. 捕获异常 语法: 首先定义异常: <异常情况>  E ...

随机推荐

  1. SPATRA的使用

    SPATRA是kali里的集成工具,可以自动化渗透测试 在命令行里键入:sparta即可进入 进去后单机左边空白处 输入你要进行渗透测试的IP 正在扫描中 点击bute可以进入hydra

  2. ZOJ3602:Count the Trees

    我是在neuqvj上交的这题:http://vj.acmclub.cn/problem/viewProblem.action?id=17848 本来是挺容易的树同构题,可是节点数比较多,愣是把普通ha ...

  3. [bzoj1700]: [Usaco2007 Jan]Problem Solving 解题

    不能贪心!不能贪心!不能贪心! 反正有反例(有的题目月初支付款很少,月末支付款很大,和前面的题凑到一个月的话可能导致下个月写不了= =这时放后一个月,和后面的题一起开始写可能更优) 比如: 50 44 ...

  4. codeforces 746C 模拟

    C. Tram time limit per test 1 second memory limit per test 256 megabytes input standard input output ...

  5. hdu_1698Just a Hook(线段树)

    hdu_1698Just a Hook(线段树) 标签: 线段树 题目链接 题意: 一个英雄的技能是发射一个长度为n的金属链,初始的金属链都是铁做的,标记为1,我们可以对于某个区间修改它的金属材质,如 ...

  6. hdu_4497GCD and LCM(合数分解)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4497 GCD and LCM Time Limit: 2000/1000 MS (Java/Other ...

  7. [国嵌攻略][182][Sqlite嵌入式数据库移植]

    数据库系统构成 在计算机系统中,保存数据的方式一般有两种: 1.普通文件方式 2.数据库方式 相比于普通文件方式,使用数据库来管理大批量数据具有更高的效率与安全性. 数据库系统一般由三个部分构成 1. ...

  8. 快速搭建appium自动测试环境

    首先申明本文是基本于Python与Android来快速搭建Appium自动化测试环境: 主要分为以下几个步骤: 前提条件: 1)安装与配置python环境,打开 Python官网,找到"Do ...

  9. nginx版本如何选择?

    生产环境使用Stable version:最新稳定版,现在最新的版本是nginx-1.8.1 注意各版本的区别:Nginx官网提供了三个类型的版本 1.Mainline version:Mainlin ...

  10. openfire服务器+Spark搭建即时聊天系统 & 阿里云的初步探索

    晚上出去和洋仔吃了涮肉,喝了点啤酒,不知不觉就聊到了11点,感觉他工作状态还不错,emmm...都要加油吧.虽然没有当时去山西零下二十多度那么夸张,这几天北京的冬夜还是有点小冷的.好了进入正题: 一. ...