用户自定义函数概述_第1页
用户自定义函数概述_第2页
用户自定义函数概述_第3页
用户自定义函数概述_第4页
用户自定义函数概述_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用户自定义函数概述

除了使用系统提供的函数外,用户还可以根据需要自定义函数。用户自定义函数(UserDefinedFunctions)英文简写为UDF。与存储过程很类似,用户自定义函数是一组有序的T-SQL语句,这些语句被预先优化和编译,并且可以作为一个单元来进行调用,但是它们也具有一些特定的行为和能力,使之与存储过程相区别。用户自定义函数概述用户自定义函数与存储过程的相似点

与存储过程很类似,用户自定义函数是一组有序的T-SQL语句,这些语句被预先优化和编译,并且可以作为一个单元来进行调用。

用户自定义函数与存储过程的主要区别在于结果的返回方式。为了能够支持多种不同的返回值,用户自定义函数比存储过程有更多的限制。用户自定义函数与存储过程的区别用户自定义函数概述使用存储过程时可以传入参数,也可以传出参数。可以返回值,不过该值是用于指示成功或失败,而非返回数据。也可以返回结果集,但是在没有将结果集插入到某种表(通常是临时表)中以供后面使用的情况下,不能在查询中真正使用它们。用户自定义函数与存储过程的区别用户自定义函数概述使用用户自定义函数时,可以传入参数,但不可以传出参数。输出参数的概念被更为健壮的返回值取代了。与系统函数一样,可以返回标量值,这个值的好处是它并不像在存储过程中那样只限于整型数据类型,而是可以返回大多数的SQLServer数据类型。用户自定义函数与存储过程的区别用户自定义函数概述6用户自定义函数的特点1、重复使用编程代码,减少编程开发时间,提高工作效率。2、隐藏SQL细节,把SQL繁琐的工作留给数据库开发人员,而程序开发员则集中处理高级编程语言。3、维修集中化,可以在一个地方做业务上的逻辑修改,然后让这些修改自动应用到所有相关程序中。4、可在另一个SQL语句中直接调用。5、函数必须始终返回一个值(一个标量值或一个表格)用户自定义函数概述7

根据函数返回值形式的不同,用户自定义函数分为三种类型:标量型函数(Scalarfunctions)内嵌表值型函数(Inlinetable-valuedfunctions)多语句表值型函数(Multi-statementtable-valuedfunctions)。用户自定义函数的分类标量函数返回一个确定类型的标量值。对于多语句标量函数,定义在BEGIN…END语句块中函数体包含一系列返回单个值的T-SQL语句。标量函数返回值的数据类型为除text、ntext、image、cursor、timestamp外的其它任何数据类型。标量函数内联表值函数是数据库中一种较为特殊的函数类型,它的返回值不再只是一个数值或一个字符串,而是一张数据表,也就是说表值函数返回的数据类型是table。对于内联表值函数,没有函数体,返回的表值是单个SELECT语句查询的结果集。使用表值函数的时候,把函数直接当成是表或视图使用,表值函数的参数传入方法与标量函数没有区别。内联表值函数多语句表值函数可以看作是标量函数和表值函数的结合体,该函数的返回值是一个表。但是其又与标量函数一样,有一个用BEGIN…END包含起来的函数体返回值的表中的数据是由函数体中的语句插入的,因此可以进行多次查询,对数据进行多次筛选与合并,弥补了表值函数的不足。多语句表值函数知识小结用户自定义函数概述用户自定义函数与存储过程的相似点与不同点用户自

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论