多连接同时调用c执行oracle存储过程程是否会存在存储过程执行失败而未有提示

查看: 6878|回复: 23
多存储过程协作执行,某个失败怎么全部回滚
论坛徽章:2
Oracle 10g .05&&windows 2003
现有三个存储过程 proce_A , proce_B , proce_C 它们分别是向 A, B , C 中插入传入的数据(三个存储过程中插入均有commit)。
在程序中作为一个功能使用时需按顺序执行proce_A , proce_B , proce_C 这三个存储过程。
问题:怎么才能在proce_C执行失败后另外两个也回滚。即撤销刚才的操作。
论坛徽章:2
回复 #2 zhangfengh 的帖子
唉,我也是对主管这么说的。主管说还是把操作细化比较好。因为这个过程在别的地方也可以用,如果出错也很容易找出错误源,无语ing...
论坛徽章:1088
其它几个不要有commit,你都commit了,还能撤销啊
论坛徽章:412
模块化的思想没有错,错在不应该把事务控制写到存储过程中。应该在客户端进行COMMIT,因为只有调用者知道事务成功了没有。
论坛徽章:2
回复 #6 newkid 的帖子
恩,是的。其实我也是这么想的。在存储过程中不commit;在应用端commit。缺点就是别人在调试存储过程时很容易忘记commit而死锁。
我可以再加一个触发器;
我想这是最好的办法了。既满足了主管也满足了需求
论坛徽章:2
我愁,现在老大说让我不用存储过程了。直接在程序中用sql,我滴个神呐
论坛徽章:2
回复 #9 zhangfengh 的帖子
为了实现各个功能要去做大量重复的sql,觉得很麻烦了。
请问,你们在做这些功能模块实现的时候是怎么处理的?是用存储过程还是在程序里sql,还是有别的好的方法来处理如贴子标题的问题
论坛徽章:1088
在程序层封装啊,和存储过程封装一样的方法,没有什么好纠结的,存储过程咋做,转为java的业务方法就OK
论坛徽章:2
回复 #11 dingjun123 的帖子
应用程序是.NET,你的意思就是说不用在存储过commit,而是在类中集中处理事务。
论坛徽章:1088
事务处理是在业务层操作的,业务层调用数据访问层,业务层可以调用多个数据访问层
你们的.NET程序有分层吗?
itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有    
 北京市公安局海淀分局网监中心备案编号: 广播电视节目制作经营许可证:编号(京)字第1149号多连接同时调用oracle存储过程是否会存在存储过程执行失败而未有提示_百度知道问一个关于Oracle的存储过程出现invalid的问题_百度知道oracle触发器调用存储过程一直失败啊 !
[问题点数:20分,结帖人wildwave]
oracle触发器调用存储过程一直失败啊 !
[问题点数:20分,结帖人wildwave]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2014年10月 Oracle大版内专家分月排行榜第二2014年9月 Oracle大版内专家分月排行榜第二2014年6月 Oracle大版内专家分月排行榜第二2014年4月 Oracle大版内专家分月排行榜第二2014年3月 Oracle大版内专家分月排行榜第二2014年2月 Oracle大版内专家分月排行榜第二2013年11月 Oracle大版内专家分月排行榜第二
2014年11月 Oracle大版内专家分月排行榜第三2014年8月 Oracle大版内专家分月排行榜第三
2013年5月 Oracle大版内专家分月排行榜第三
2012年5月 Oracle大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。oracle pl/sql 存储过程中调多个存储过程,执行顺序问题?_百度知道

我要回帖

更多关于 oracle存储过程的调用 的文章

 

随机推荐