在此查询中:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
Select * from table1
Go
Select * from table2
Go
这是否意味着READ UNCOMMITTED
仅适用于Select * from table1
的{{1}}?
为什么这不起作用?
Go
declare @var varchar(20)
set @var = 'fdsdsf'
select 'var'
go
select @var
必须消除才能使其正常工作
答案 0 :(得分:3)
GO
是SSMS或SQLCMD使用的批处理分隔符。它不是SQL标准的一部分,不应对ISOLATION LEVEL
产生影响。
根据MSDN,“一次只能设置一个隔离级别选项,并且在显式更改之前,它将保持为该连接设置。”因此,在您的情况下,READ UNCOMMITTED
将适用于两个查询。
答案 1 :(得分:-1)
Go-用于执行,用于Signals the end of a batch of Transact-SQL statements to the SQL Server utilities.。没有交易或隔离级别。
Read Uncommited适用于两个查询,因为它适用于单个事务,直到事务打开。(它由sqlserver维护,所以不用担心)
阅读Uncommited: - It is is SQL Server's default transaction isolation level.