SQL用户自定义函数课件.ppt

SQL用户自定义函数课件.ppt

ID:57059315

大小:123.50 KB

页数:21页

时间:2020-07-30

SQL用户自定义函数课件.ppt_第1页
SQL用户自定义函数课件.ppt_第2页
SQL用户自定义函数课件.ppt_第3页
SQL用户自定义函数课件.ppt_第4页
SQL用户自定义函数课件.ppt_第5页
资源描述:

《SQL用户自定义函数课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第10章用户定义函数本章学习目标:熟悉使用函数的优点及函数的类型掌握创建和管理标量用户定义函数掌握创建和管理多语句表值函数掌握创建和管理内联表值函数开始第10章用户定义函数10.1用户定义函数10.2创建用户定义函数10.3管理用户定义函数10.1用户定义函数SQLServer用户定义函数是接受参数、执行操作(例如复杂计算),并将操作结果以值的形式返回的例程。可以通过SQLServer设计用户定义函数,来补充和扩展系统支持的内置函数。用户定义函数可接受零个或多个输入参数,返回标量值或表。在SQLServer中

2、使用用户定义函数有以下优点:允许模块化程序设计。执行速度更快。减少网络流量。SQLServer2008支持用户定义函数和内置系统函数。标量函数用户定义标量函数返回在RETURNS子句中定义的类型的单个数据值。表值函数用户定义表值函数返回table数据类型。表值函数可以分为内联表值函数或多语句表值函数。内联表值函数,没有函数主体,表是单个SELECT语句的结果集。多语句表值函数,在BEGIN...END语句块中定义的函数体包含一系列Transact-SQL语句,这些语句可生成行并将其插入将返回的表中。内置函数S

3、QLServer提供了内置函数来帮助执行各种操作。这些函数不能修改。可以在Transact-SQL语句中使用内置函数,完成以下操作:从SQLServer系统表中访问信息而不直接访问系统表。例如函数DB_ID、DB_NAME或OBJECT_ID等。执行常见任务,例如SUM、GETDATE或IDENTITY。内置函数返回标量数据类型或table数据类型。10.2创建用户定义函数用户定义函数的结构有两部分组成:标题和正文。标题定义:具有可选架构/所有者名称的函数名称;输入参数名称和数据类型;可以用于输入参数的选项;

4、返回参数数据类型和可选名称;可以用于返回参数的选项。正文定义了函数将要执行的操作或逻辑。包括执行函数逻辑的一个或多个Transact-SQL语句。在函数定义中可使用的有效语句包括:DECLARE语句,该语句可用于定义函数局部的数据变量和游标。为函数局部对象的赋值,如使用SET为标量和表局部变量赋值。游标操作,该操作引用在函数中声明、打开、关闭和释放的局部游标。不允许使用FETCH语句将数据返回到客户端;仅允许使用FETCH语句通过INTO子句给局部变量赋值。TRY...CATCH语句以外的流控制语句。SELE

5、CT语句,该语句包含具有为函数的局部变量赋值的表达式的选择列表。INSERT、UPDATE和DELETE语句,这些语句修改函数的局部表变量。EXECUTE语句,该语句调用扩展存储过程。10.2.1创建用户定义标量函数语法格式为:CREATEFUNCTION[schema_name.]function_name([{@parameter_name[AS][type_schema_name.]parameter_data_type[=default][READONLY]} [,...n]  ])RETURNSre

6、turn_data_type[WITH{  [ENCRYPTION]  

7、 [SCHEMABINDING]  

8、 [RETURNSNULLONNULLINPUT

9、CALLEDONNULLINPUT] }[,...n]][AS]BEGIN[function_body]RETURNscalar_expressionEND[;]schema_name:用户定义函数所属的架构的名称。function_name:用户定义函数的名称。@parameter_name:用户定义函数的参数。[type_schema_name.

10、]parameter_data_type:参数的数据类型及其所属的架构。[=default]:参数的默认值。READONLY:指示不能在函数定义中更新或修改参数。return_data_type:标量用户定义函数的返回值的数据类型。ENCRYPTION:指示数据库引擎 对包含CREATEFUNCTION语句文本的目录视图列进行加密。SCHEMABINDING:指定将函数绑定到其引用的数据库对象。RETURNSNULLONNULLINPUT

11、CALLEDONNULLINPUT:指定标量值函数的OnNULLCal

12、l属性。如果未指定,则默认为CALLEDONNULLINPUT,这意味着即使传递的参数为NULL,也将执行函数体。function_body:指定一系列定义函数值的Transact-SQL语句,这些语句一起使用的计算结果为标量值。scalar_expression:指定标量函数返回的标量值。【例10-1】在数据库CJMS中创建用户定义标量函数fn_EvaluateOneStudent,要求:每次输入

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。