日期:2014-05-18  浏览次数:20388 次

并发控制问题
刚入门数据库系统。
有个并发控制的问题请教大家。
W3(D)W1(F)R1(D)W2(F)R2(G)W3(G)C1C2C3
这里出现了死锁,请问是怎么出现的呢?请帮我解释解释,非常感谢!
最好附图哦,感谢!

------解决方案--------------------
1. 阻塞演示
SQL code
-- 1. 连接A

-- 建立演示环境
USE tempdb

CREATE TABLE dbo.tb(
    id int)
GO

-- 开启事务并插入数据
BEGIN TRAN
    INSERT dbo.tb(
        id)
    VALUES(
        1)
--COMMIT TRAN
GO

-- 2. 连接B
USE tempdb

SELECT * FROM dbo.tb
GO

-- 删除演示环境
DROP TABLE dbo.tb
GO