- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
尚辅网 尚辅网 项目3 使用数据库 第8章 查询数据 第9章 视图 第10章 自定义函数和存储过程 第11章 触发器 第12章 游标及事务 第10章 自定义函数和存储过程 理论学习(教学)目标: 1.掌握自定义函数的概念、用途。 2.掌握存储过程的概念、用途。 3.掌握使用定义函数和存储过程编程的优点。 技能学习(教学)目标: 1.能够创建、调用自定义函数。 2.能够创建、执行存储过程。 3.能够编写简单的自定义函数、存储过程。 10.1 自定义函数 在 SQL Server 2008中,除了系统内置的函数外,用户在数据库中还可以自己定义函数,来补充和扩展系统支持的内置函数。 SQL Server 2008用户自定义函数有标量函数、内嵌表值函数、多语句表值函数三种,本书只介绍最常用的前两种。 10.1.1 自定义函数的概述 函数是由一个或多个Transact-SQL 语句组成的子程序,可用于封装代码以便重新使用。 SQL Server2008并不将用户限制在定义为 Transact-SQL 语言一部分的内置函数上,而是允许用户创建自己的用户定义函数。 自定义函数有如下优点:模块化程序设计;执行速度快;加少了网络流量。 10.1.1 自定义函数的概述 自定义函数采用零个或更多的输入参数并返回标量值或表输入参数可以为零个或最多1024个,输入的参数能够是除了时间戳(timestamp)、游标(cursor)和表(table)以外的其他变量。 可使用CREATE FUNCTION语句创建、使用ALTER FUNCTION语句修改、以及使用DROP FUNCTION语句除去用户定义函数。 10.1.2 使用SQL语句创建、调用自定义函数 1.标量函数 只返回单个数据值,函数体语句定义在begin…end语句内,其中包含了带返回值的Transact-SQL命令。 (1)创建标量函数 主要语法格式: CREATE FUNCTION [所有者].自定义函数名([参数[...n]) RETURNS 返回参数的类型 AS BEGIN 函数体 RETURN 函数返回的标量值 END 10.1.2 使用SQL语句创建、调用自定义函数 【例10.1】创建一个自定义函数【F_学分】,通过判断自变 量的大小,确定学生成绩的学分。 CREATE FUNCTION F_学分(@a int) RETURNS nvarchar(10) as BEGIN declare @retrun nvarchar(10) if @a =50 AND @a60 set @retrun=学分为0.5 else if @a=60 AND @a 70 set @retrun=学分为1.0 10.1.2 使用SQL语句创建、调用自定义函数 else if @a=70 AND @a 80 set @retrun=学分为1.2 else if @a =80 AND @a90 set @retrun=学分为1.5 else if @a =90 AND @a=100 set @retrun=学分为2 else set @retrun =无学分 return @retrun END 10.1.2 使用SQL语句创建、调用自定义函数 (2)调用标量函数 格式如下: SELECT dbo.自定义函数名(@参数 数据类型 ……) 【例10.2】当需要查看学生的课程的学分时,编辑如下代码: select学生编号,教程编号, dbo.F_学分(成绩) as 学分 from 成绩 10.1.2 使用SQL语句创建、调用自定义函数 2.内嵌表值函数 内嵌表值函数是返回一个Select 语句查询结果的表。内嵌标值函 数可用于实现参数化视图的功能。 这种类型的函数在使用参数和扩 展索引视图方面提供了比视图更多的灵活性。 (1)创建内嵌表值函数 常用语法格式: CREATE FUNCTION [所有者].自定义函数名([参数[...n]] RETURNS TABLE AS RETURN (SELECT查询语句) 10.1.2 使用SQL语句创建、调用自定义函数 【例10.3】创建一个自定义函数【[F_某学生成绩】,输 入参数学生编号,返回该学生个门课程的成绩。 create function F_
您可能关注的文档
- SQL Server 2005数据库应用与开发教程教学课件 作者 978 7 302 16021 2 ch04.ppt
- SQL Server 2005数据库应用与开发教程教学课件 作者 978 7 302 16021 2 ch05.ppt
- SQL Server 2005数据库应用与开发教程教学课件 作者 978 7 302 16021 2 ch06.ppt
- SQL Server 2005数据库应用与开发教程教学课件 作者 978 7 302 16021 2 ch07.ppt
- SQL Server 2005数据库应用与开发教程教学课件 作者 978 7 302 16021 2 ch08.ppt
- SQL Server 2005数据库应用与开发教程教学课件 作者 978 7 302 16021 2 ch09.ppt
- SQL Server 2005数据库应用与开发教程教学课件 作者 978 7 302 16021 2 ch10.ppt
- SQL Server 2005数据库应用与开发教程教学课件 作者 978 7 302 16021 2 ch11.ppt
- SQL Server 2005数据库应用与开发教程教学课件 作者 978 7 302 16021 2 ch12.ppt
- SQL Server 2005中文版基础教程教学课件 作者 宋晓峰 SQL Server 2005中文版基础教程课件.ppt
- SQL Server 2008数据库管理项目教程 教学课件 作者 张宝华 主编 兰静沈志梅 副主编 11.ppt
- SQL Server 2008数据库管理项目教程 教学课件 作者 张宝华 主编 兰静沈志梅 副主编 12.ppt
- SQL Server 2008数据库管理项目教程 教学课件 作者 张宝华 主编 兰静沈志梅 副主编 13.ppt
- SQL Server 2008数据库管理项目教程 教学课件 作者 张宝华 主编 兰静沈志梅 副主编 14.ppt
- SQL Server 2008数据库管理项目教程 教学课件 作者 张宝华 主编 兰静沈志梅 副主编 15.ppt
- SQL Server 2008数据库管理与开发教程 第2版 教学课件 作者 王雨竹 张玉花 张星第1章 数据库基础.ppt
- SQL Server 2008数据库管理与开发教程 第2版 教学课件 作者 王雨竹 张玉花 张星第2章 SQL Server 2008安装与配置.ppt
- SQL Server 2008数据库管理与开发教程 第2版 教学课件 作者 王雨竹 张玉花 张星第3章 创建和管理数据库.ppt
- SQL Server 2008数据库管理与开发教程 第2版 教学课件 作者 王雨竹 张玉花 张星第4章 TransactSQL 语法结构.ppt
- SQL Server 2008数据库管理与开发教程 第2版 教学课件 作者 王雨竹 张玉花 张星第5章 数据查询与操作.ppt
文档评论(0)