3条SQL语句分别执行数据库3张表的更新操作
3条语句执行完毕再一次性COMMIT,如果3条语句没有执行完,没有COMMIT,数据库会自动回滚的,在数据库重新启动时。

解决方案 »

  1.   

    不要怕,回滚了,你再重新执行就可以了。原因: 你没有 执行完,所以也不会 commit ,日志就不会标记完成。就当没发生过这事儿一样。
      

  2.   

    会回滚到更新前的状态,重启后有SMON进程来完成
      

  3.   

    数据库中的事务是原子的,只有完全执行后,commit,才会提交,把数据更新到数据库中,如果没有执行完,数据库的事务会自动回滚,回到操作之前一致的状态,然后重启后重新执行就可以了。
      

  4.   

    事务的原子性要求,如果把一个事务看作是一个程序,它要么完整的被执行,要么完全不执行。就是说事务的操纵序列或者完全应用到数据库或者完全不影响数据库。
    假如用户在一个事务内完成了对数据库的更新,这时所有的更新对外部世界必须是可见的,或者完全没有更新。前者称事务已提交,后者称事务撤销。DBMS必须确保由成功提交的事物完成的所有操作在数据库内有完全的反映,而失败的事务对数据库完全没有影响。
    一个事务内部的操作及正在操作的数据必须封锁起来,不被企图进行修改的事务看到。分离性是DBMS针对并发事务间的冲突提供的安全保证。DBMS可以通过加锁在并发执行的事务间提供不同级别的分离。
      

  5.   

    oracle数据库插入数据没有commit,是不会提交到数据库中的
      

  6.   

    没commit的话。就没关系啦。不过很容易锁表的哦。锁表后这个表你就只能查询了,不能操作里面的数据 ,需要去sys用户下kill掉