2014-07-07 97 views
-3

在此查詢:SET事務隔離級別未提交讀

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 
Select * from table1 
Go 
Select * from table2 
Go 

這是否意味着READ UNCOMMITTED將要在Select * from table1監守的Go的唯一工作?

爲什麼這不起作用?

declare @var varchar(20) 

set @var = 'fdsdsf' 

select 'var' 
go 
select @var 

go必須在爲了使該工作

回答

3

GO是通過SSMS或SQLCMD使用間歇分離器消除。它不是SQL標準的一部分,不應該對ISOLATION LEVEL產生影響。

根據MSDN的規定,「一次只能設置其中一個隔離級別選項,並且在該連接被明確更改之前,該選項仍保持設置狀態。」因此,在你的情況下,READ UNCOMMITTED將適用於這兩個查詢。

+1

+1用於閱讀精細手冊 –

-1

Go-這是用於執行並用於Signals the end of a batch of Transact-SQL statements to the SQL Server utilities.。沒有事務或隔離級別。

讀未提交的是兩個查詢工作,因爲它的單次交易,直到打開事務工作(它是由SQLSERVER維持,所以不用擔心)

閱讀UNCOMMITED: - 。It is is SQL Server's default transaction isolation level.

Why use a READ UNCOMMITTED isolation level?

Specifies that statements can read rows that have been modified by other transactions but not yet committed.