Sql 将事务隔离级别设置为“读取未提交”
在此查询中:Sql 将事务隔离级别设置为“读取未提交”,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,在此查询中: SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED Select * from table1 Go Select * from table2 Go 这是否意味着由于Go,READ UNCOMMITTED将只在表1中的Select*上起作用 为什么这不起作用 declare @var varchar(20) set @var = 'fdsdsf' select 'var' go select @var go必须消除才能正常工作go
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
Select * from table1
Go
Select * from table2
Go
这是否意味着由于Go,READ UNCOMMITTED将只在表1中的Select*上起作用
为什么这不起作用
declare @var varchar(20)
set @var = 'fdsdsf'
select 'var'
go
select @var
go必须消除才能正常工作go是SSMS或SQLCMD使用的批处理分隔符。它不是SQL标准的一部分,不应该对隔离级别产生影响
根据MSDN,一次只能设置一个隔离级别选项,并且在显式更改之前,该选项将一直为该连接设置。因此,在您的情况下,readuncommitted将适用于这两个查询。Go-这用于执行,并用于。与事务或隔离级别无关 Read Uncommitted对两个查询都有效,因为它在事务打开之前对单个事务有效。它由sqlserver维护,所以不用担心 阅读未限制:-