七 用户自定义函数.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
七 用户自定义函数

tcl 七 用户自定义函数 《SQL Server数据库设计与实现》 软件系统技术教研室2 演示 系统函数GETDATE() 7.1 用户定义函数(掌握) 7.2 用户定义函数的定义(掌握) 7.3 用户定义函数的使用(掌握) 7.1 用户定义函数 SQL Server 允许用户设计自己的函数,以补充和扩展系统提供(内置)函数的功能 用户定义函数采用零或多个输入参数并返回标量值或表 SQL Server 支持三种用户定义函数:标量函数、多语句表值函数和内嵌表值函数 标量函数 标量函数返回一个标量(单值)结果 可在与标量函数返回的数据类型相同的值所能使用的任何位置使用该标量函数,包括 SELECT 语句中列的列表和 WHERE 子句、表达式、表定义中的约束表达式,甚至作为表中列的数据类型 多语句表值函数 多语句表值函数返回一个由一条或多条 Transact-SQL 语句建立的表,类似于存储过程 与存储过程不同的是,多语句表值函数可以在 SELECT 语句的 FROM 子句中被引用,仿佛视图一样 内嵌表值函数 内嵌表值函数返回一个单条 SELECT 语句产生的结果的表,类似于视图 相对于视图,内嵌表值函数可使用参数,提供了更强的适应性,扩展了索引视图的功能 8.2 用户定义函数的定义 创建用户定义函数 创建架构绑定函数 为用户定义函数设置权限 更改和删除用户定义函数 创建用户定义函数 创建用户定义函数 练习 创建用户定义函数fn_norecord,如果输入内容为空则使用字符串“not available”来替代 USE pubs GO CREATE FUNCTION fn_norecord (@myinput nvarchar(30)) RETURNS nvarchar(30) BEGIN IF @myinput IS NULL SET @myinput=not available RETURN @myinput END 练习 使用用户定义函数fn_norecord来查询pubs数据库中的titles表的notes字段 SELECT pubs.dbo.fn_norecord(notes) as notes from pubs.dbo.titles 使用标量用户定义函数 使用标量用户定义函数 使用标量用户定义函数 使用表值用户定义函数 创建用户定义函数 创建架构绑定函数 可以使用架构绑定将函数绑定到其引用的数据库对象 若函数创建时使用 SCHEMABINDING 选项,则此函数引用的数据库对象不能被更改(使用 ALTER 语句)或删除(使用 DROP 语句) 创建架构绑定函数 必须满足以下条件才能在 CREATE FUNCTION 中指定 SCHEMABINDING 选项 该函数所引用的所有视图和用户定义函数必须是绑定到架构的 函数引用的对象必须以两部分名称的格式引用,即“拥有者名.对象名” 创建架构绑定函数 必须满足以下条件才能在 CREATE FUNCTION 中指定 SCHEMABINDING 选项 该函数所引用的所有对象必须与函数位于同一数据库中 执行 CREATE FUNCTION 语句的用户必须具有对该函数中引用的所有对象的 REFERENCE 权限 为用户定义函数设置权限 用户定义函数的权限要求和其他数据库对象的类似 要创建、更改或删除用户定义函数,必须具有 CREATE FUNCTION 权限 若函数拥有者之外的用户要在 Transact-SQL 语句中使用函数,则必须先被授予 EXECUTE 权限 为用户定义函数设置权限 用户定义函数的权限要求和其他数据库对象的类似 若函数是架构绑定的,则创建者必须具有函数所引用的表、视图和函数上的 REFERENCE 权限 若在 CREATE TABLE 或 ALTER TABLE 语句的 CHECK 约束、DEFAULT 子句或计算列中引用了用户定义函数,则表的拥有者必须具有那个函数的 REFERENCE 权限 更改和删除用户定义函数 更改函数 语法:ALTER FUNCTION …… 使用新的函数定义代替原来的函数定义 保留所有已分配的权限 删除函数 语法:DROP FUNCTION …… 删除一个用户定义函数 7.3 用户定义函数的使用 使用标量用户定义函数 标量用户定义函数示例 使用多语句表值函数 多语句表值函数示例 使用内嵌表值函数 内嵌表值函数示例 使用标量用户定义函数 标量函数返回 RETURNS 子句中定义的数据类型的单个数据值 在 BEGIN … END 块之间定义了函数体,包含返回值的一系列 Transact-SQL 语句 返回值可以是除了 text、ntext、image、cursor 或 timestamp 之外的任何数据类型 额外的限制 标量

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档