数据库事务

作者: zhushican 分类: 建站教程 发布时间: 2014年8月18日 次浏览 0条评论

数据库系统中,例如SQL Server,我们通过在一个存储过程内部使用一个特定卖主的语句来指定事务操作,例如使用BEGIN TARNSACTION语句来启动一个新事务。使用COMMIT TRANSACTION语句接受对数据所做的全部更新,并且一直允许对数据进行修改,使用ROLLBACK TRANSACTION语句取消当前事务中所做的任何修改

DoBookArchive的存储过程是在SQL脚本,在数据库WroxBooks内部创建的。这个存储过程的功能就是将表BookList中的一行移动到同一个数据库中的一个名为ArchiveBooks的表中。如果该过程成功完成,该事务被提交,并且更新后的结果将永远应用数据库表中。如果向ArchiveBooks表中写入时,或是从BookList表进行删除的操作时出现了错误,这两个动作都会回退,这个表也保持为原来的状态,任何一个都没有受到这个过程的影响
 
但是,这个过程总是以删除表中已有的具有相同ISBN开始。如果整个事务失败,这个动作将会被回退,因此如果记录已经存档(已从表中删除),利用相同的ISBN运行这个存储过程时,它就不会被从表中删除。在在这种情况下,INSERT语句就会失败,因为该记录没有在表中,因此整个事务就会回退,从而撤销对表的DELETE操作。

本文出自 老域名查询 ,转载时请注明出处及相应链接。

本文永久链接: http://www.sc8323.com/2014/688.html

回顶部