全球主机交流论坛

标题: SQL Server中的用户自定义函数 [打印本页]

作者: 网络数据技术1    时间: 2016-3-3 10:48
标题: SQL Server中的用户自定义函数
用户自定义函数(UDF:User Defined Functions)的定义:
  同存储过程类似,用户自定义函数是一组有序的T-SQL语句,UDF被预先优化和编译并且可以作为一个单元来进行调试。UDF和存储过程的主要区别在于返回结果的方式。为了能支持多种不同的返回值,UDF比存储过程有更多的限制。
  UDF的两种类型:
  1. 返回标量值的UDF
  2. 返回表的UDF
  函数的确定性:
  确定性指的是,返回的结果是确定的;或者说在未改变什么的情况下,使用同一个函数,在同样的条件下,返回的值是不会改变的。
  UDF可以是确定性的也可以是非确定性的。
  当UDF需要达到确定性的要求时,需要满足的4个条件:
  1. 函数必须是模式绑定的。这意味着函数所依赖的任何对象会有一个依赖记录,并且在没有删除这个依赖的函数之前都不允许改变这个对象。
  2. 函数引用的所有其他函数,无论其是用户定义的还是系统定义的,都必须是确定的。
  3. 不能引用在函数外部定义的表(可以使用表变量和临时表,只要它们是在函数作用域内定义的就行)。
  4. 不能使用扩展存储过程

文章来源于:主机论坛:http://bbs.cuwww.com/forum.php       Q;79354300 82235966





欢迎光临 全球主机交流论坛 (http://bbs.cuwww.com/) Powered by Discuz! X3.2