sql server 中用户定义函数的限制

1. 用户自定义函数不能存取数据表 但是用户定义函数可以访问扩展存储过程,在扩展存储过程中可以访问表。
2. 用户定义函数中不可以执行拼接的sql语句,也不能使用临时表
3. 用户定义函数不可以返回Xml,在用户定义函数中不允许使用FOR XML语句
4. 用户定义函数中不能SET选项,SET选项可以改变数据库级别或者事务级别的设置。例如SET ROWCOUNT不能再用户定义函数中使用
5. 用户定义函数中不能RAISEERROR也不能使用@@error。

翻译自以下博客,做了删减去掉了用户定义函数和存储过程比较的部分。
http://blog.sqlauthority.com/2007/05/29/sql-server-user-defined-functions-udf-limitations/

原文地址:https://www.cnblogs.com/yukaizhao/p/sql_user_defined_function_limitation.html