SQLSever--事务与索引
Posted EasonDongH
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLSever--事务与索引相关的知识,希望对你有一定的参考价值。
问题抛出:
当同时执行多条SQL语句时,如果其中一条语句发生错误,而其他语句正常执行了,就会导致数据库数据对不上,怎么办?用事务!
事务(Transaction)
概念:事务作为一个逻辑工作单元来执行一系列操作,多个操作为一个整体,要么全部执行,要么全部不执行,保证数据的一致性!
特性:
分类:
显式事务:用BEGIN TRANSACTION明确事务开始。
隐性事务:
自动提交事务:
每个单独的SQL语句都被自动默认为一个事务。
事务如何工作?
事务启动时,所有操作先被写到日志,当整个过程没有错误时,则把事务里的所有操作一次性提交;如果执行过程有错误,则会把之前的操作撤销。即使是在事务执行过程中遭到外界原因导致数据库异常,在下次启动数据库的时候也能根据日志内容来完成未完成的操作。
事务的创建和使用
基本步骤:
开始事务:BEGIN TRANSACTION
提交事务:COMMIT TRANSACTION
回滚事务:ROLLBACK TRANSACTION
用@@error来判断是要回滚还是提交。
代码示例:
ADO.NET中的事务编写:
索引
索引的使用是用来提高查询速度的,等以后有实际需求接触到再来补充!
以上是关于SQLSever--事务与索引的主要内容,如果未能解决你的问题,请参考以下文章