3
A
回答
1
它不是CLR UDF,它是任何
RDBMS
UDF功能,通过定义,不能更改数据库的状态,即从事:
- DELETE,INSERT,UPDATE(即DML)语句,
- 调用存储过程,
- 永久改变服务器环境变量的值,
- 等
以及使用调用非确定性(具有相同输入RETURNI NG不同的结果)的功能(如GETDATE(),NEWID()等)
更新:
哎呀,SQL Server 2008中放宽了对使用非确定性函数的限制。 如果UDF使用非确定性,那么它被视为非确定性。
人们可以通过检查:
SELECT OBJECTPROPERTY(OBJECT_ID('dbo.FunctionName'),'IsDeterministic')
+0
你是对的:如果我试图从一个UDF调用一个存储过程,我会收到一条错误消息,指出只有函数和“...一些扩展存储过程...”可以在UDF中调用。呃 - 回到制图板。 – Martin 2010-10-18 10:19:41
相关问题
- 1. 如何避免从SQL Server中的UDF调用存储过程
- 2. SQL Server CLR存储过程JSON参数
- 3. SQL Server CLR存储过程AWS
- 4. 调用从CLR存储过程中的存储过程与表值参数
- 5. 调用CLR存储过程
- 6. 在SQL Server中可以递归调用存储过程吗?
- 7. 运行SQL Server存储过程(更新)
- 8. 从SQL Server存储过程
- 9. 从CLR存储过程
- 10. 在BizTalk中使用存储过程插入/更新SQL Server表
- 11. 的SQL Server 2016 CLR存储过程可空出参数
- 12. 存储过程更新SQL中的表
- 13. 是否可以反编译SQL Server CLR存储过程程序集?
- 14. 调用从SQL CLR WCF服务存储过程
- 15. 从SQL CLR存储过程调用MVC3操作
- 16. CLR存储过程需要一个SQL Server执行线程
- 17. SQL CLR存储过程和Web服务
- 18. 调用存储过程在SQL Server
- 19. 使用SQL-CLR存储过程
- 20. SQL中的存储过程CLR
- 21. CLR存储过程
- 22. C++和CLR存储过程
- 23. 使用CLR UDT作为SQL Server存储过程参数
- 24. 从临时表中更新SQL Server 2008 R2存储过程中不工作
- 25. 从另一个存储过程的SQL Server调用存储过程
- 26. 调用SQL Server存储过程在SQL Server中创建新的SP对象
- 27. SQL Server存储过程中间表
- 28. C#CLR存储过程不会部署到SQL Server 2005
- 29. SQL Server 2005:从WHERE子句中调用存储过程
- 30. 如何从SQL Server中调用另一个存储过程
是否有一个理由,为什么你不能创建一个CLR存储过程,而不是一个功能? – 2010-10-18 07:37:40
我可以将其重写为存储过程,但这需要大量工作。 – Martin 2010-10-18 09:05:16