当前位置:Gxlcms > 数据库问题 > SQLSever--事务与索引

SQLSever--事务与索引

时间:2021-07-01 10:21:17 帮助过:23人阅读

问题抛出:

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

事务(Transaction)

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

特性:

技术分享图片

分类:

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

隐性事务:

技术分享图片

自动提交事务:

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

 

事务如何工作?

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

 

事务的创建和使用

基本步骤:

开始事务:BEGIN TRANSACTION

提交事务:COMMIT TRANSACTION

回滚事务:ROLLBACK TRANSACTION

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

代码示例:

技术分享图片

ADO.NET中的事务编写:

技术分享图片

索引

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

SQLSever--事务与索引

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

人气教程排行