4

当我想添加行时

设置事务隔离级别读取未提交

在 SQL SERVER 2008 中我的函数定义脚本的 BEGIN 子句之后,它说:

Invalid use of a side-effecting operator 'SET TRANSACTION ISOLATION LEVEL' within a function

如何在函数定义中实现此功能?

4

3 回答 3

5

你不能。

您需要在调用该函数的批处理开始时设置它。

于 2012-04-09T19:21:14.087 回答
3

你不能。 UDF 不支持集合操作。

函数始终在事务的上下文中执行(隐式或显式),并且一旦事务开始,您就无法更改事务的隔离级别。

于 2012-04-09T19:21:37.187 回答
2

您是否尝试过解决无法设置事务隔离的问题?

Select * from dbo.MyTable with (nolock)
于 2012-04-09T19:24:22.880 回答