一、所有的PL/SQL异常都具有以下几个基本特征: 错误类型:表示了错误是ORA错误还是PLS错误 错误代号:一串表示错误代号的数字 错误文本:错误消息文本,包括错误代号 二、PL/SQL会产生两种类型的错误 : ORA错误 PLS错误 ORA错误通常是运行时的错误,应该由

一、所有的PL/SQL异常都具有以下几个基本特征:

错误类型:表示了错误是ORA错误还是PLS错误

错误代号:一串表示错误代号的数字

错误文本:错误消息文本,包括错误代号

二、PL/SQL会产生两种类型的错误:

ORA错误

PLS错误

ORA错误通常是运行时的错误,应该由程序来处理。

PLS错误通常是编译错误,应该在执行程序之前进行处理。

--:使用PL/SQL语句块输出99乘法表

--dbms_output.put_line()

declare

v_i number;

v_k number;

v_j number;

begin

for v_i in 1..9 loop

v_j:=1;

while v_j<=v_i loop

v_k:=v_i*v_j;

dbms_output.put_line('v_j'||v_j||'*'||'v_i'||v_i||'='||'v_k'||v_k);

v_j:=v_j+1;

end loop;

dbms_output.put_line(chr(10));

end loop;

end;

--:使用Select ename into v_ename from emp where deptno=&no;

-- 出现多行值的异常(TOO_MANY_ROWS),使用异常处理打印错误代码和错误信息;注意最后使用others收尾

declare

v_ename emp.ename%type;

begin

select ename into v_ename from emp where deptno=&no;

dbms_output.put_line('v_ename:'||v_ename);

-- if v_ename = 'chen'

-- then dbms_output.put_line('v_ename:'||v_ename);

--else

-- dbms_output.put_line('too_many_rows:'||sqlerrm);

--end if;

exception

when TOO_MANY_ROWS then

dbms_output.put_line('多值异常'||sqlerrm);

when others then

dbms_output.put_line('其他异常');

end;

--:通过输入的员工编号,使用%rowtype类型定义一个emp表的行类型,并输出员工编号、名字、工资、部门编号。

-- 注意处理没有查到数据的异常(no_data_found)

declare

v_emp emp%rowtype;

begin

select * into v_emp from emp where empno=&员工编号;

dbms_output.put_line('v_empno:'||v_emp.empno ||'v_empname:'||v_emp.ename||'v_empsal'||v_emp.sal||'v_empdeptno:'||v_emp.deptno);

exception

when no_data_found then

dbms_output.put_line('异常:没找到数据'||sqlerrm);

when others then

dbms_output.put_line('其他异常');

end; 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

oracle plsql异常,【Oracle篇】异常处理和PLSQL相关推荐

  1. java olap oracle_【案例】Oracle数据库升级OLAP组件异常 删除OLAP组件

    天萃荷净 Oracle研究中心案例分析:在升级完一套Oracle数据库后发现OLAP组件出现异常,详细记录如何删除OLAP组件的过程. 本站文章除注明转载外,均为本站原创: 转载自love wife ...

  2. Oracle中raise触发异常,Oracle中RAISE异常的解决方法

    今天小编给大家分享一篇中RAISE异常的解决方法,感兴趣的朋友跟小编一起来了解一下吧! 有三种方式抛出异常 1.通过PL/SQL运行时引擎 2.使用RAISE语句 3.调用RAISE_APPLICAT ...

  3. oracle如何获取异常,Oracle专题13之异常错误处理

    异常:是程序在正常执行过程中发生的未预料的事件. b.什么是异常处理? 异常处理是为了提高程序的健壮性,使用异常处理部分可以有效地解决程序正常执行过程中可能出现的各种错误,使得程序正常运行. c.异常 ...

  4. oracle存储过程获取异常信息码和异常信息

    oracle存储过程,可以通过sqlcode 获取异常编码.通过sqlerrm获取异常信息. 例子: create or replace procedure write2blob(p_id in nu ...

  5. vs 2015 oracle,VS2015连接oracle11g出现异常

    vs2015,安装的是Oracle Developer Tools for VS2015, 命名空间是using Oracle.ManagedDataAccess.Client; 连接字符串是:&qu ...

  6. oracle数据库监听频道异常,数据库监听不定期出现异常故障处理

    故障现象: 数据库监听不定期出现异常,从应用tnsping数据库,时间花费很长甚至连不上 故障分析处理过程: 从应用主机tnsping如下: racdb1_scenemon$tnsping racdb ...

  7. Windows 64位下装Oracle 11g,PLSQL Developer的配置问题,数据库处显示为空白的解决方案...

    安装pl sql 后,若下图的数据库处为空.则需要安装32位的客户端,说明pl sql不支持64位客户端连接. 解决办法:  1.下载32位Oracle客户端,并安装 2.设置PLSQL Develo ...

  8. oracle 值过多异常,oracle ORA-00913: 值过多

    --oracle中查看表是否被锁 查看表是否被锁 SELECT /*+ rule*/ a.sid, b.owner, object_name, object_type FROM v$lock a, a ...

  9. java 运行异常处理_Java编程异常处理和I/O流

    重点: 1.在编写程序时,要正确地使用捕获例外和声明抛出异常的两种例外处理的方法. 2.遇到实际问题时,要根据需要正确使用各种输入/输出流,特别是对中文使用适当的字符输入流. 3.正确使用对象串行化的 ...

最新文章

  1. Magento 2中文手册之常见概念解析
  2. HTML5 WebAudioAPI简介(一)
  3. ARM非对齐操作异常解决过程
  4. 产品功能上线前,如何高效的埋点?
  5. linux-ntpdate同步更新时间
  6. “□” 表情无法在 Android 设备显示? 快试试 EmojiCompact 表情兼容库
  7. 推荐两个Magento做的中文网站 GAP和佰草集
  8. 利用Python网络爬虫抓取微信好友的签名及其可视化展示
  9. eclipse.ini
  10. Visual Studio 常用宏
  11. 图:活动现场双屏管理系统V3-多线程抽奖版软件,完美升级收工!历时3个月,艰辛坎坷...
  12. 微信表情存入mysql是_Mysql存储微信Emoji表情问题
  13. 苹果手机怎么把计算机放到桌面,苹果怎么投影到电脑_怎么把苹果手机投影到电脑屏幕上-win7之家...
  14. 如何设置使用Windows系统自带的图片查看器打开图片?
  15. 计算机常见故障ppt,计算机硬件组成与常见故障排错.ppt
  16. 今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事12月14日
  17. 【论文速递】ECCV2022 - 密集高斯过程的小样本语义分割
  18. javaVUE技术小区车辆档案车位管理系统设计与实现计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
  19. C语言中的小知识1~20
  20. WiTricity签下韩国首个被许可方

热门文章

  1. GraalVM上的Picocli:极快的命令行应用程序
  2. 两个Oracle JDK的故事
  3. activemq和jms_保证主题,JMS规范和ActiveMQ的消息传递
  4. mvvm 后端_ZK实际应用:MVVM –与ZK客户端API一起使用
  5. findbugs-dea_FindBugs和JSR-305
  6. SonarQube中的Maven项目的单元和集成测试报告
  7. 在非托管对象中使用Spring托管Bean
  8. JavaFX技巧15:ListView自动滚动
  9. HBase:为客户行为生成搜索点击事件统计信息
  10. Java 8 StampedLocks与ReadWriteLocks和同步