分享

Oracle PL/SQL开发基础(第十三弹:提交和回滚记录)

 张小龙net馆藏 2017-10-17

提交和回滚属于Oracle事务处理的内容。

提交更改

事务用来确保数据的一致性,最经典的例子就是银行转账。A转1000元给B,那么A的账户要减少1000,B的账户要增加1000,银行亚由转账的记录,这三方缺一不可。事务提供了一致性的机制,只要三方全部成功完成,操作便成功,所做的更改同一写回数据库,否则操作失败,用户所做的更改全部被撤销。

Oracle在遇到第一个DML语句时,事务被隐式地开始,一般情况下,显式地调用COMMIT或ROLLBACK语句时,事务结束。当一个事务结束以后,下一个可执行的SQL语句会自动启动下一个事务处理。

用户A删除数据时,实际上并未直接对物理数据库进行操作,用户A所做的操作会被放在数据段中,因此此时用户B查询数据库中的数据时,并未看到操作的结果,除非调用COMMIT,如:

DELETE FROM emp;
COMMIT;
  • 1
  • 2

回滚更改

在执行DML语句开始一个事务时,Oracle会将旧的数据保存到回退表空间(UNDO TABLESPACE)中。当用户调用ROLLBACK后,Oracle会将回退表空间中的数据写到数据段中,以便取消DML语句的操作。如:

DELETE FROM emp;
ROLLBACK;
  • 1
  • 2

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多