【Oracle篇】异常处理和PLSQL

php中文网
发布: 2016-06-07 15:13:12
原创
1303人浏览过

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


冰兔(Btoo)网店系统
冰兔(Btoo)网店系统

系统简介:冰兔BToo网店系统采用高端技术架构,具备超强负载能力,极速数据处理能力、高效灵活、安全稳定;模板设计制作简单、灵活、多元;系统功能十分全面,商品、会员、订单管理功能异常丰富。秒杀、团购、优惠、现金、卡券、打折等促销模式十分全面;更为人性化的商品订单管理,融合了多种控制和独特地管理机制;两大模块无限级别的会员管理系统结合积分机制、实现有效的推广获得更多的盈利!本次更新说明:1. 增加了新

冰兔(Btoo)网店系统 0
查看详情 冰兔(Btoo)网店系统

一、所有的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_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;


相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号