- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL Server--chap11--第十一章 用户自定义函数 * 第16章 用户自定义函数 16.1 用户自定义函数的基本概念 SQL Server允许创建用户定义函数 用户定义函数是可返回值的例程 用户定义函数种类 返回可更新数据表的函数 返回不可更新数据表的函数 返回标量值的函数 若函数含单个SELECT语句且可更新,则返回的数据表可更新 若函数含多个SELECT语句或一个不可更新的SELECT语句,则返回的数据表不可更新 16.2 创建用户自定义函数 16.2.1 创建用户自定义函数 CREATE FUNCTION [owner-name,] function-name ([{@parameter-name scalar_parameter_datetype [=default]}[,…n]]) 参数名,局部变量 参数数据类型 RETURNS scalar_return_datatype [WITH function-option [,…n] ] [AS] BEGIN sql-statement RETURN scalar-expression END 用户自定义函数的返回值 函数中返回值的表达式 SCHEMABINING选项可将函数绑定到它所引用的数据库对象 function-option ENCRYPTION选项可以实现 SQL Server加密包含CREATE FUNCTION语句文本的系统表列 例:在Northwind库上创建自定义函数my_function1,通过向该函数输入代表商品年销售额的money类型参数的大小返回字符串,若年销售额大于10000,返回“热销商品”,否则返回“非热销商品” USE Northwind go CREATE FUNCTION my_function1 (@moneyinput money) RETURNS nvarchar(5) BEGIN DECLARE @returnstring nvarchar(5) IF @moneyinput10000 SET @returnstring=非热销商品 ELSE SET @returnstring=热销商品 RETURN @returnstring END 在Northwind库上有一个记录各种 产品在1997年销售额的视图,通 过它来引用新建的my_function1, 查看哪些商品属于热销商品 USE Northwind go SELECT ProductName, ProductSales, dbo.my_function1(ProductSales) AS Discription FROM [Product sales for 1997] WHERE CategoryName=’Dairy Products’ 16.2.2 查看用户自定义函数 自定义函数的名称保存在sysobjects系统表中 创建自定义函数的源代码保存在syscomments系统表中 1. 使用系统存储过程查看 EXEC sp_help(sp_helptext) function-name 例:用系统存储过程sp_helptext 查看用户自定义函数my_funciton1的定义文本信息 USE Northwind go EXEC sp_helptext my_function1 go 2. 使用系统表或系统信息架构视图 在SQL Server中存在三个信息架构视图报告有关用户自定义函数的信息 ROUTINES PARAMETERS ROUTINE_COLUMNS 这些信息架构视图也是基于系统表sysobjects和syscomments实现的 例:使用系统表sysobjects查看数据库Northwind上存在的所有用户自定义函数的相关信息。 ? USE Northwind SELECT * from sysobjects WHERE type=FN go 16.3 用户自定义函数类型 自定义函数有三种类型 标量函数 内嵌表值函数 多语句表值函数 16.3.1 标量函数 标量函数返回在 RETURNS子句中定义的数据类型的单个数据值 标量函数可重复调用 例:创建标量函数,要求将当前系统日期转化为年月日格式的字符串并返回,且默认的分隔符为 ‘ :: ’ ,并允许用户自行定义分隔符 CREATE FUNCTION my_function2 (@DATE datetime, @separator nvarchar(2)=::) RETURNS nvarchar(20) BEGIN DECLARE @returnstring nvarchar(20) SET @returnstring=
文档评论(0)