• 每天10分钟学习事务与并发(Part 4)

    Step2.在Connection B中更新OrderDetails表中产品2的订单明细,并保持事务一直打开:-- Connection 2BEGIN TRAN; UPDATE Sales.OrderDetails SET unitprice = unitprice + 1.00 WHERE productid = 2;这时Connection A对订单明细表的产品2请求了排它锁。SQL Server通常会在几秒钟之内检测到死锁,并从这两个进程中选择一个作为牺牲品,终止其事务。通过交换其中一个事务的操作顺序,就可以避免发生这种类型的死锁。例如,假设Connection B中的事务有两条语句要对产品5进行筛选,Connection A中的事务要对产品2进行处理,那么他们就不应该有任何冲突。到此,每天10分钟学习T-SQL及事务与并发的系列文章就结束了,相信你一定学有所获!
公告

《从零开始开发BBS》课程上线啦,快来跟着我一步步搭建属于你的BBS吧。

课程地址:https://www.shiyanlou.com/courses/1436
9折优惠邀请码: ZHwfIjb1

该课程会带领大家一步步的了解并熟悉Go语言开发,如果你是一个Go语言初学者,或者正准备学习Go语言,那么这个课程非常适合你。如果你熟练掌握了本课程中的知识点,相信你就已经入门Go语言开发,并能胜任日常的开发工作了。