【发布时间】:2017-05-23 03:53:59
【问题描述】:
是否可以释放事务中某个表的锁?
这是一个例子:
查询窗口1:
BEGIN TRAN
UPDATE table_1 SET col_1 = '1' WHERE ID = 1
-- loop update (this takes time)
WHILE EXISTS (SELECT * FROM table_2 WHERE col_1 = 'a')
BEGIN
UPDATE table_2 SET col_1 = 'b' WHERE col_1 = 'a'
END
COMMIT TRAN
查询窗口2:
SELECT * FROM table_1 WHERE ID = 1
是否可以在窗口 1 中的事务仍在运行时访问 table_1?
【问题讨论】:
标签: sql sql-server tsql transactions locking