数据库应用基础第九章用户自定义函数58张课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据库应用基础第九章用户自定义函数58张课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 应用 基础 第九 用户 自定义 函数 58 课件
- 资源描述:
-
1、12程序运行程序运行345USE pubsgoCREATE TRIGGER my_trigger1ON authorsFOR INSERTASraiserror(你已添加了数据你已添加了数据,10,1)instead of INSERTASraiserror(你不能添加数据你不能添加数据,10,1)67第第九九章章用户自定义函数用户自定义函数 89Transact-SQL语言的一部分,按语言的一部分,按Transact-SQL参考中定义的方式运行且不能修改。参考中定义的方式运行且不能修改。1011121314getdate()得到当前系统日期时间得到当前系统日期时间year()得到日期参数的年
2、份得到日期参数的年份141515169.1 用户自定义函数概述用户自定义函数概述 2 2 它可以拥有零个、一个或多个参它可以拥有零个、一个或多个参数,必须有返回值数,必须有返回值1 1 用户定义函数是用户定义的用户定义函数是用户定义的Transact-SQLTransact-SQL函数函数3 3 返回值可以是单个数值(标量返回值可以是单个数值(标量值),也可以是一个表值),也可以是一个表概念概念 16171 创建步骤与方法创建步骤与方法 9.2 创建用户自定义函数创建用户自定义函数1718例:创建一个自定义函数,计算某例:创建一个自定义函数,计算某人到现在为止的工龄工资人到现在为止的工龄工资思
3、路:思路:工龄工资工龄工资=已工作年数已工作年数*工作一年的工龄工资工作一年的工龄工资已工作年数已工作年数=当前时间当前时间 开始参加工作时间开始参加工作时间工龄工资工龄工资=(当前时间当前时间-开始参加工作时间开始参加工作时间)*年工龄工资年工龄工资181919例:例:在在NorthwindNorthwind库上创建自库上创建自定义函数定义函数my_function1my_function1,该,该函数实现输入代表商品年销函数实现输入代表商品年销售额的售额的moneymoney类型参数的值后类型参数的值后返回返回字符串字符串,如果年销售额,如果年销售额大于大于1000010000,返回,返回
4、“热销商品热销商品”,否则返回否则返回“非热销商品非热销商品”20USE NorthwindgoCREATECREATE FUNCTIONFUNCTION mymy_functionfunction1 (moneyinput money)RETURNS nvarchar(5)返回值的数返回值的数据类型据类型21IF moneyinput10000SET returnstring=非热销商品非热销商品BEGINENDDECLAREDECLARE returnstring nvarchar(5)ELSESET returnstring=热销商品热销商品RETURN returnstring返回的变
5、量返回的变量2223在在NorthwindNorthwind库上有一个记录各种产品在库上有一个记录各种产品在20192019年年销售额的视图销售额的视图,通过它来,通过它来引用引用新建新建的的my_function1my_function1,查看哪些商品属于热销,查看哪些商品属于热销商品商品视图视图函数调用函数调用2425商品名称商品名称销售额销售额销售情况销售情况25Use 数据库数据库goSelect 函数名函数名(具体参数值具体参数值|字段名字段名)from 表名表名where 条件条件26271.用户自定义函数的名称应是惟一的用户自定义函数的名称应是惟一的2.一个函数最多可以定义一个函
6、数最多可以定义1024 个参数,每个参数,每个参数前用个参数前用“”符号标明符号标明3.参数的作用范围是整个函数参数的作用范围是整个函数4.参数只能替代常量,不能替代表名、列参数只能替代常量,不能替代表名、列名或其它数据库对象的名称名或其它数据库对象的名称5.用户自定义函数不支持输出参数用户自定义函数不支持输出参数注意:注意:272 查看用户自定义函数查看用户自定义函数 自定义函数的自定义函数的名称名称保存在保存在sysobjects系统表中系统表中创建自定义函数的创建自定义函数的源代码源代码保保存在存在syscomments系统表中系统表中 28(1)使用系统存储过程查看)使用系统存储过程查
7、看EXECEXEC sp_help(sp_helptext)例:例:用系统存储过程用系统存储过程sp_helptext 查看用户自定义函数查看用户自定义函数my_funciton1的定义文本信息的定义文本信息USE NorthwindUSE NorthwindgogoEXEC sp_helptext my_function1EXEC sp_helptext my_function1go go 2930(2)使用系统表或系统信息架构视图)使用系统表或系统信息架构视图 在在SQLSQL ServerServer中中存在三个存在三个信息信息架构视图架构视图报告报告有关用户自定有关用户自定义函数的信息
8、义函数的信息ROUTINESROUTINESPARAMETERSPARAMETERSROUTINEROUTINE_COLUMNSCOLUMNS这些这些信息架构视图信息架构视图也是基于系统也是基于系统表表sysobjectssysobjects和和syscommentssyscomments实现的实现的 31例:例:使用系统表使用系统表sysobjects查看数据库查看数据库Northwind上存在的所有用户自定义函数的上存在的所有用户自定义函数的相关信息。相关信息。329.3 用户自定义函数类型用户自定义函数类型 标量函数标量函数自定自定义函义函数有数有三种三种类型类型内嵌表值函数内嵌表值函数
展开阅读全文