oracle函数不易发现的错误

来源:互联网 发布:软件服务费是什么意思 编辑:程序博客网 时间:2024/05/21 22:41
今天工作的时候调试一个oracle函数,test后的结果返回是正常的,但是在函数test结束后去查询函数中插入的数据就是查不到,而把函数中的插入语句拿出来单独执行是可以正常插入的。在中间多加了几个commit,发现部分数据可以正常插入,但最后调用一个子过程的时候地方仍然没有插入数据。弄了好久,正以为见鬼了呢,因为子过程是很多函数都有调用的,没怀疑子过程有问题。最后静下心来一步步调试,进入子函数也进行了调试,才发现原来是函数调用的一个函数里面报错了,而子函数报错的信息不会在主函数中看到,但是由于调用的函数出错了,主函数也提交不了事务,导致commit不生效。