oracle存储过程异常处理问题,Oracle存储过程异常处理中应注意的问题
如果主存储过程和主函数由子过程或子函数组成,则子函数或子程序是否可以包含异常处理基于以下原则:首先oracle 过程 异常处理,如果将主程序和子程序作为一个事务处理,则不能在子程序中触发异常. 异常应在主调用程序中处理. 如果在子程序中处理了异常,如程序出现异常,则在异常处理之后,将继续执行在调用程序中调用的异常子程序的以下代码,从而启动新的事务,这破坏了事务的一致性,从而破坏了数据的一致性主要调

如果主存储过程和主函数由子过程或子函数组成,则子函数或子程序是否可以包含异常处理
基于以下原则:
首先oracle 过程 异常处理,如果将主程序和子程序作为一个事务处理,则不能在子程序中触发异常. 异常应在主调用程序中处理. 如果在子程序中处理了异常,如程序出现异常,则在异常处理之后,将继续执行在调用程序中调用的异常子程序的以下代码,从而启动新的事务,这破坏了事务的一致性,从而破坏了数据的一致性
主要调用过程如下:
过程sp_procedure
是

vs_pay_year_month varchar2(6);
vs_sql varchar2(10000);
开始
sp_procedure1;
sp_procedure2;
update emp set empname ='张三'其中empid ='00001'

例外
何时有其他人
-发生异常,将禁止的触发器设置为有效
vs_sql: ='更改表sal_t_mainper启用所有触发器';
立即执行vs_sql;
end;

子例程:
过程sp_procedure1
是
开始
更新部门集dept_name ='人事部门',其中deptid ='0001'
从部门deptid ='0002'删除

例外
何时有其他人
-发生异常,将禁止的触发器设置为有效
raise_application_error(-20001,“删除时发生错误!”);
end;
因此oracle 过程 异常处理,不允许在子程序中处理异常,这将破坏数据的一致性
第二,如果主程序和子程序不作为一个事务处理,则可以在子程序中触发异常,但这很少发生.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-169001-1.html
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)