千家信息网

Oracle存储过程Procedure分析

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"Oracle存储过程Procedure分析"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所
千家信息网最后更新 2026年11月03日Oracle存储过程Procedure分析

本篇内容介绍了"Oracle存储过程Procedure分析"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

我们都知道即便是写得最好的PL/SQL程序也会遇到错误或未预料到的事件。一个优秀的程序都应该能够正确处理各种出错情况,并尽可能从错误中恢复。
任何ORACLE错误(报告为ORA-xxxxx形式的Oracle错误号)、PL/SQL运行错误或用户定义条件,PL/SQL编译错误不能通过PL/SQL异常处理来处理,因为这些错误发生在PL/SQL程序执行之前。
ORACLE 提供异常情况(EXCEPTION)和异常处理(EXCEPTION HANDLER)来实现错误处理。
异常情况处理(EXCEPTION)是用来处理正常执行过程中未预料的事件,程序块的异常处理预定义的错误和自定义错误,由于PL/SQL程序块一旦产生异常而没有指出如何处理时,程序就会自动终止整个程序运行。
有三种类型的异常错误:
1、预定义 ( Predefined )错误
ORACLE预定义的异常情况大约有24个。对这种异常情况的处理,无需在程序中定义,由ORACLE自动将其引发。
2、非预定义 ( Predefined )错误
即其他标准的ORACLE错误。对这种异常情况的处理,需要用户在程序中定义,然后由ORACLE自动将其引发。
3、用户定义(User_define) 错误
程序执行过程中,出现编程人员认为的非正常情况。对这种异常情况的处理,需要用户在程序中定义,然后显式地在程序中将其引发。


异常处理部分一般放在 PL/SQL 程序体的后半部,结构为:
EXCEPTION
WHEN first_exception THEN
WHEN second_exception THEN
WHEN OTHERS THEN
END;

异常处理可以按任意次序排列,但 OTHERS 必须放在最后。

举个例子
create or replace procedure emp_exce_p(empno number) is
v_sal emp.sal%type;
begin
select sal into v_sal from emp where empno = empno;
if v_sal <= 1500
then
update emp set sal = sal + 100 where empno = empno;
dbms_output.put_line('empno: ' || empno || ' sal update!');
else
dbms_output.put_line('empno: ' || empno || ' sal is already to high!');
end if;
exception
when no_data_found
then dbms_output.put_line('empno: ' || empno || ' not found!');
when too_many_rows
then dbms_output.put_line('there hav too manay rows');
when others
then dbms_output.put_line(sqlcode || '---' || sqlerrm);
end;
/

其中
No_data_found 表示 SELECT INTO没有找到数据
Too_many_rows 表示 SELECT INTO 返回多行

"Oracle存储过程Procedure分析"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

错误 程序 处理 情况 过程 用户 分析 存储 事件 内容 更多 知识 运行 优秀 实用 学有所成 接下来 中将 人员 例子 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手磨咖啡 精品咖啡豆 科技互联网 百单网互联网科技有限公司怎么样 广州百单互联网科技有限公司 A股互联网金融科技公司 万易互联网科技 期待互联网科技 互联网科技公司电话 重庆科技学院互联网 滨湖区互联网智能科技产品供应 现代互联网科技股 成都铂石互联网科技做什么的 河南住房之家互联网科技 洛阳共同富裕互联网科技有限公司 工业互联网等科技实现智能化赋能 群盈汇互联网科技有限公司 济南小医互联网科技有限公司招聘 东风日产互联网科技公司叫什么 互联网企业和网络科技有限公司 天津市摩尔互联网科技 江苏根荣互联网科技 互联网科技财经 互联网金融与金融科技 联恩商钥互联网科技有限公司 银川新华互联网科技学校联系电话 互联网数据科技专业 福州德业互联网科技 艺电能源互联网科技有限公司招聘 科技信息时代互联网发展
0