前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【SQL Server】创建与使用事务

【SQL Server】创建与使用事务

作者头像
MaybeHC
发布2024-04-23 19:01:50
920
发布2024-04-23 19:01:50
举报
文章被收录于专栏:技术之路技术之路

事务的特性

  • 原子性:事务是一个完整的操作,事务的各步操作时不可分的,要么都执行,要么都不执行。
  • 一致性:当事务完成时,数据必须处于一致状态。
  • 隔离性:并发事务之间彼此隔离、独立,它不应以任何方式依赖与或影响其他事务。
  • 永久性:事务完成后,它对数据库的修改被永久保存。

事务分类

  • 显式事务 用BEGIN TRANSACTION明确指定事务的开始。 最常用的事务类型
  • 隐式事务 通过设置SETIMPLICIT_TRANSACTIONS ON 语句,将隐性事务模式设置为打开。 其后T-SQL语句自动启动一个新事务。 提交或回滚一个事务后,下一个T-SQL语句又将启动一个新事务。
  • 自动提交事务 SQL Server的默认方式。 每条单独的SQL语句被视为一条事务。

如何使用事务

  • 开始事务
代码语言:javascript
复制
 BEGIN TRANSACTION
  • 提交事务
代码语言:javascript
复制
COMMIT TRANSACTION
  • 回滚事务
代码语言:javascript
复制
ROLLBACK TRANSACTION

一旦事务提交或回滚,则事务结束

  • 事务示例
代码语言:javascript
复制
use StudentManager
go
declare @errorSum int
set @errorSum=0
begin transaction
    begin
    。。。update/insert/delete语句
    update CardAccount set CurrentMoney = CurrentMoney-1000 where StudentId = 100001
    set @errorSum=@errorSum+@@ERROR
    update CardAccount set CurrentMoney = CurrentMoney+1000 where StudentId=100002
    set @errorSum=@errorSum+@@ERROR
        if(@errorSum>0)
            rollback transaction
        else
            commit transaction
    end
go
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 事务的特性
  • 事务分类
  • 如何使用事务
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档