当我想添加行
时SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
在SQL SERVER 2008中我的函数定义脚本的BEGIN子句之后, 它说:
Invalid use of a side-effecting operator 'SET TRANSACTION ISOLATION LEVEL' within a function
如何在功能定义中实现此功能?
答案 0 :(得分:4)
你不能。
您需要在调用该函数的批处理的开头设置它。
答案 1 :(得分:3)
你做不到。 UDFs do not support set operations.
函数总是在事务的上下文中执行(隐式或显式),并且一旦事务开始就不能更改事务的隔离级别。
答案 2 :(得分:2)
您是否尝试过此操作以避免设置事务隔离?
Select * from dbo.MyTable with (nolock)