码迷,mamicode.com
首页 > 数据库 > 详细

SQLSever--事务与索引

时间:2017-12-13 00:10:51      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:默认   image   索引   示例   数据   自动提交   tran   撤销   err   

问题抛出:

当同时执行多条SQL语句时,如果其中一条语句发生错误,而其他语句正常执行了,就会导致数据库数据对不上,怎么办?用事务!

事务(Transaction)

概念:事务作为一个逻辑工作单元来执行一系列操作,多个操作为一个整体,要么全部执行,要么全部不执行,保证数据的一致性!

特性:

技术分享图片

分类:

显式事务:用BEGIN TRANSACTION明确事务开始。

隐性事务:

技术分享图片

自动提交事务:

每个单独的SQL语句都被自动默认为一个事务。

 

事务如何工作?

事务启动时,所有操作先被写到日志,当整个过程没有错误时,则把事务里的所有操作一次性提交;如果执行过程有错误,则会把之前的操作撤销。即使是在事务执行过程中遭到外界原因导致数据库异常,在下次启动数据库的时候也能根据日志内容来完成未完成的操作。

 

事务的创建和使用

基本步骤:

开始事务:BEGIN TRANSACTION

提交事务:COMMIT TRANSACTION

回滚事务:ROLLBACK TRANSACTION

用@@error来判断是要回滚还是提交。

代码示例:

技术分享图片

ADO.NET中的事务编写:

技术分享图片

索引

索引的使用是用来提高查询速度的,等以后有实际需求接触到再来补充!

SQLSever--事务与索引

标签:默认   image   索引   示例   数据   自动提交   tran   撤销   err   

原文地址:http://www.cnblogs.com/EasonDongH/p/8030109.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!