关于update,如果在存储过程中,只update,而不commit,也不rollback?会有什么样的结果呢?
我现在试验了一下,这样执行完了这个存储过程以后,它好像自己commit了,因为我从其他窗口查询结果已经是更新后的了.但是我即没有commit,也没有rollback啊?

解决方案 »

  1.   

    我觉得你的存储过程里虽然没有提交或回滚,但可能有ddl语句,或者是调用存储过程的应用程序有自动提交的功能,最好开两个sql*plus窗口,一个执行存储过程,一个观察结果,这样结果应该比较"干净"
      

  2.   

    是一个很危险的想法!
    系统会产生行锁,当你的执行该过程的链接断开,超时后才会解锁。在次期间别人只能查看你修改的范围内(update前的内容)的记录。