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

not_data_found例外:

--系统列外
set serveroutput on declare pename emp.ename%type; begin select ename into pename from emp where empno =1234; exception
when no_data_found then dbms_output.put_line('没有查到数据');
when others then dbms_output.put_line('其他'); end;
/

too_many_rows例外:

 --系统例外: too_many_rows

 set serveroutput on
declare pename emp.ename%type; begin select ename into pename from emp where deptno = 10; exception
when too_many_rows then dbms_output.put_line('select into 匹配多行');
when others then dbms_output.put_line('其他');
end;
/

算数或转换例外:

 --系统例外 : value_error

 set serveroutput on

 declare

   pnum number;
begin
pnum := 'abc'; exception
when value_error then dbms_output.put_line('算术或转换错误');
when others then dbms_output.put_line('其他');
end;
/

0不能做除数例外:

 --系统例外 zero_divide
set serveroutput on declare pnum number;
begin pnum := 1/0; exception
when zero_divide then dbms_output.put_line('0不能做除数');
when others then dbms_output.put_line('其他');
end;
/

自定义例外:

--自定义例外: 

set serveroutput on

declare

  cursor cemp is select ename from emp where deptno =50;
pename emp.ename%type; --自定义列外
not_emp_data exception; begin
open cemp; fetch cemp into pename; if cemp%notfound then
raise not_emp_data;
end if;
--如果程序程序中出现例外,oracle会通过pmon(process monitor)自动关闭清理资源
close cemp; exception
when not_emp_data then dbms_output.put_line('自定义例外:没有查询到数据');
when others then dbms_output.put_line('其他列外');
end;
/

知识点出处: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. Smack4.1注册新用户

    更新了smack4.1后,发现之前的注册表单不能使用了,很多属性都不能使用. 发现4.1把帐号的出来都集中到 org.jivesoftware.smackx.iqregister.AccountMan ...

  2. Win10升级后回退后无法检测新版本的修复办法

    笔记本原来装的是Win10 10240版本,升级到14393版本后进行了回退.回退后,Win10系统再也检测不到新版本更新了.   解决办法如下: 1.打开注册表:HKEY_LOCAL_MACHINE ...

  3. 计算机组成原理往年试题以及答案(tzf!!!)

    计算机组成原理往年试题以及答案(下载链接!!!) 太子妃升职记(1~36) ::http://pan.baidu.com/s/1dDP5Kqd

  4. Android 界面排版的5种方式

    Android布局是应用界面开发的重要一环,在Android中,共有五种布局方式,分别是:FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对 ...

  5. My mac cannot run 类相关的操作 , which is lower than 类相关的操作。

     首先你选择的项目是mac项目,    其次,你MAC的系统版本小于你当前项目部署环境的最低支持版本    要么升级你的MAC系统,要么再project—>target设置developerme ...

  6. java.lang.RuntimeException: Unable to start activity ComponentInfo

    异常:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.william/com.william.Result ...

  7. 基于HTML5 的WebSql本地设备数据库

    HTML5 的 Web SQL Database 用本地和会话存储实现简单的对象持久化,对繁琐的关系数据进行处理. 在 W3C 的 Web SQL Database 规范中(参照 介绍)有这样的描述: ...

  8. 在Apworks数据服务中使用基于Entity Framework Core的仓储(Repository)实现

    <在ASP.NET Core中使用Apworks快速开发数据服务>一文中,我介绍了如何使用Apworks框架的数据服务来快速构建用于查询和管理数据模型的RESTful API,通过该文的介 ...

  9. Spring Boot与分布式

    ---恢复内容开始--- 分布式.Dubbo/Zookeeper.Spring Boot/Cloud 一.分布式应用 在分布式系统中,国内常用zookeeper+dubbo组合, 而Spring Bo ...

  10. C/C++ 全局变量的访问

    #include <iostream> using namespace std; ; int main(int argc, char **argv) { ; std::cout <& ...