背景:
前两天出差调试代码的时候,由于平时都在用PGSQL数据库,更新数据都直接修改的,这天出差的时候刚好这个项目用到的Oracle数据库,直接执行了一句update语句,然后就开始测试项目程序。。问题就在这了,看了差不多2个小时都找不出问题在哪,把sql语句直接放在文件里执行,又能够查询出数据。当时整个人都醉了
解决办法:
再update另外一条数据的时候发现Oracle SQL developer 卡住了,重启了之后发现数据库数据没更新!!!
再update又卡死,多次尝试之后,发现重启数据库和数据库监听程序,update成功,加上commit;结尾然后程序跑通了。终于松了一口气。之后的调试一气呵成,完美收工。
原因:
Oracle的commit提交数据,再未提交前都是在内存,没有更新到物理文件中。执行commit从用户角度讲就是更新到物理文件。
关于commit更多参考长风大侠的博客:http://blog.csdn.net/hzhsan/article/details/9719307