坑爹的commit

初学oracle,在摸索中前进。

oracle中真的有很多细节需要注意,就像我今天下午遇到的两个问题:

  1.同一条语句,在两个不同的窗体执行显示不同的结果,郁闷死了,明明有一个结果是错误的(这个错误是通过肉眼对表内数据的判断得出的),但是多次执行,还是这个错误,最后请教高数,一听问题,立刻给出结果:“肯定在执行insert/delete/update时,没有commit”,看来做这一行,多练习是一方面,经验同样很重要。

  2.一个存储过程执行报错“找不到数据”,但是表中肯定有这条数据,然后群上请教大家,大家给出了几种可能,尝试无果,后来一网友说,这个过程在我电脑上执行正确,没问题的。蒙了...最后主句调试,一一排查,insert语句没有执行commit,无数据提交!

 

  本来一挺简单的问题,自己却找不到错误在哪,从各方面排查、调试,甚至有些恼怒(执行结果不一那个错误),最后找出症结,原来是一个较小却非常严重的错误"commit”,真是哭笑不得~~

  希望朋友们引以为戒,在执行insert、delete、update等一类DML语句时,记得提交事务,使事务中执行的变更永久化,所有事务的更改都将为其他事务可见。

posted on 2012-04-23 16:42  Rigwarl.Z  阅读(154)  评论(0编辑  收藏  举报

导航