这种情况必须使用事务处理。 存储过程也必须使用事务来管理。
它只是把一些 *** 作集成到一起了。
数据库事务(简称:事务)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库 *** 作序列构成。一个数据库事务通常包含了一个序列的对数据库的读/写 *** 作。它的存在包含有以下两个目的:
为数据库 *** 作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。
当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的 *** 作互相干扰。
当事务被提交给了DBMS(数据库管理系统),则DBMS(数据库管理系统)需要确保该事务中的所有 *** 作都成功完成且其结果被永久保存在数据库中,如果事务中有的 *** 作没有成功完成,则事务中的所有 *** 作都需要被回滚,回到事务执行前的状态同时,该事务对数据库或者其他事务的执行无影响,所有的事务都好像在独立的运行。
但在现实情况下,失败的风险很高。在一个数据库事务的执行过程中,有可能会遇上事务 *** 作失败、数据库系统/ *** 作系统失败,甚至是存储介质失败等情况。这便需要DBMS对一个执行失败的事务执行恢复 *** 作,将其数据库状态恢复到一致状态(数据的一致性得到保证的状态)。为了实现将数据库状态恢复到一致状态的功能,DBMS通常需要维护事务日志以追踪事务中所有影响数据库数据的 *** 作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)