考虑以下SQL:
现在,我猜测在内部提交后,隔离级别会返回到
BEGIN TRAN SET TRANSACTION ISOLATION LEVEL READ COMMITTED总之,我们开始一个事务并将其隔离级别设置为
INSERT Bands ( Name ) SELECT 'Depeche Mode' UNION SELECT 'Arcade Fire'
-- 我已经缩进了内部的事务,以使它更清晰。
BEGIN TRAN SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SELECT * FROM Bands
COMMIT
-- 这里的隔离级别是什么?
UPDATE Bands SET Name = 'Modest Mouse' WHERE Name = 'Oddest House'
COMMIT
READ COMMITTED
。然后我们执行一些随机的SQL语句并开始另一个嵌套事务。在此事务中,我们将隔离级别更改为READ UNCOMMITTED
。然后我们提交该事务并返回到其他事务。现在,我猜测在内部提交后,隔离级别会返回到
READ COMMITTED
。这正确吗?