当我想在SQL SERVER 2008的函数定义脚本的BEGIN子句后添加以下行:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
时,它会显示:
Invalid use of a side-effecting operator 'SET TRANSACTION ISOLATION LEVEL' within a function
如何在函数定义中实现此功能?
当我想在SQL SERVER 2008的函数定义脚本的BEGIN子句后添加以下行:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
时,它会显示:
Invalid use of a side-effecting operator 'SET TRANSACTION ISOLATION LEVEL' within a function
你不能这样做。
你需要在调用函数的批处理开始时设置它。
抱歉,你不能这样做。 用户定义函数(UDFs)不支持集合操作。
一个函数总是在事务的上下文中执行(隐式或显式),一旦事务开始,就不能更改事务的隔离级别。
你尝试过这个方法来绕过无法设置事务隔离级别的限制吗?
Select * from dbo.MyTable with (nolock)