笔记174 事务的隔离级别 开关与介绍 、应用
笔记174 事务的隔离级别 开关与介绍 、应用
1 --事务的隔离级别 开关与介绍 、应用 2 --SET TRANSACTION ISOLATION LEVEL READ COMMITTED 3 --read uncommitted 4 --read committed 5 --repeatable read 6 --snapshot 7 --serializable 8 9 10 --read uncommitted:指定语句可以读取已由其他事务修改但尚未提交的行 11 12 --read committed:指定语句不能读取已由其他事务修改但尚未提交的数据。这样可以避免脏读。其他事务可以在当前事务的各个语句之间更改数据,从而产生不可重复 13 --读取和幻象数据,该选项是mssql的默认配置 14 15 --snapshot:即事务中任何语句读取的数据都只能是该事务开始之前就已存在的数据版本。事务只能识别在其开始之前提交的数据修改。在当前事务中执行的语句 16 --看不到当前事务开始以后其他事务所做的数据修改。其效果就好像事务中的语句获得了已提交数据的快照,因为该数据在事务开始时就存在 17 18 --serializable:指定语句不能读取已由其他事务修改但尚未提交的数据。任何其他事务都不能在当前事务完成之前修改由当前事务读取的数据。在当前事务完成之前 19 --其他事务不能使用当前事务中任何语句读取的键值插入新行 20 21 --每次只能设置一个隔离级别选项,而且设置的选项将一直对那个连接有效,直到显式更改该选项为止。 22 --事务中执行的所有读取操作都会在指定的隔离级别下运行,除非指定了锁提示或版本控制行为 23 24 25 -------------------------查询窗口1 26 USE TransactionTestDb 27 GO 28 SET TRANSACTION ISOLATION LEVEL REPEATABLE READ 29 GO 30 BEGIN TRANSACTION 31 GO 32 SELECT * FROM dbo.Orders 33 GO 34 SELECT * FROM dbo.Parts 35 GO 36 UPDATE dbo.Orders SET Qutantity=Qutantity+10 37 WHERE OrderNo =1; 38 39 WAITFOR DELAY '00:00:30' 40 GO 41 42 COMMIT TRANSACTION 43 GO 44 45 -----------------------查询窗口2 46 USE TransactionTestDb 47 GO 48 SET TRANSACTION ISOLATION LEVEL REPEATABLE READ 49 GO 50 BEGIN TRANSACTION 51 GO 52 SELECT * FROM dbo.Orders WHERE OrderNo =1 53 GO 54 55 56 COMMIT TRANSACTION 57 GO
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!