【发布时间】:2016-10-13 01:09:20
【问题描述】:
在official example here 中,SET TRANSACTION ISOLATION LEVEL 与明确定义的事务一起使用。
我的问题是,如果我从 SqlCommand 执行查询,例如:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT * from MyTable
我会从我设置的新隔离级别中受益吗?
或者我需要像这样显式定义一个事务吗?
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
BEGIN TRANSACTION;
SELECT * from MyTable
COMMIT TRANSACTION;
更新: 根据Randy Levy's answer,我将更新我的查询如下:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT * from MyTable;
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
【问题讨论】:
-
您不需要交易。除非我弄错了,
READ UNCOMMITTED只是让 any 选择语句像使用NOLOCK提示一样工作。
标签: c# sql-server transactions isolation-level