- 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 2008数据库管理与开发教程 第9章 SQL Server 2008高级开发 本章主要介绍SQL Server 2008的高级应用,包括用户自定义函数、实现交叉表查询、事务处理以及锁。通过本章的学习,读者可以创建和管理用户自定义函数,可以使用PIVOT、UNPIVOT以及CASE实现交叉表查询,并了解事务处理机制和锁,应用事务和锁优化对数据的访问。 9.1 用户自定义函数 SQL Server 2008还可以根据用户需要来自定义函数,以便用在允许使用系统函数的任何地方。 用户自定义函数有两种方法,一种是利用Microsoft SQL Server Manager管理器直接创建,另一种是利用代码创建。 9.1.1 创建用户自定义函数 9.1.2 使用Transact-SQL语言创建用 户自定义函数 (1)创建自定义函数 利用Transact-SQL创建函数的语法如下: create function 函数名(@parameter 变量类型 [,@parameter 变量类型 ]) returns参数as begin 命令行或程序块 End 函数可以有0个或若干个输入参数,但必须有返回值,returns后面就是设置函数的返回值类型。 用户自定义函数为标量值函数或表值函数。 如果returns子句指定了一种标量数据类型,则函数为标量值函数;如果returns子句指定TABLE,则函数为表值函数。 根据函数主体的定义方式,表值函数可分为内联函数和多语句函数。 (2)调用自定义函数 Transact-SQL调用函数的语法格式如下: Print dbo.函数([实参]) 或 select dbo.函数([实参]) dbo是系统自带的一个公共用户名。 【例9-1】 创建与执行以表为返回值的函数。 9.1.3 修改、删除用户自定义函数 1.修改自定义函数 利用Transact-SQL修改函数的语法如下: alter function 函数名(@parameter 变量类型 [,@parameter 变量类型 ]) returns参数as begin 命令行或程序块 End 2.删除自定义函数 删除自定义函数的Transact-SQL语法如下: Drop function 函数名 9.2 使用SQL Server 2008实现交叉表查询 9.2.1 使用PIVOT和UNPIVOT实现交叉表查询 PIVOT和UNPIVOT运算符是SQL Server 2008新增的功能。 通过PIVOT和UNPIVOT就完全可以实现交叉表的查询,用PIVOT和UNPIVOT编写更简单,更易于理解。 在查询的FROM子句中使用PIVOT和UNPIVOT,可以对一个输入表值表达式执行某种操作,以获得另一种形式的表。 PIVOT运算符将输入表的行旋转为列,并能同时对行执行聚合运算。 而UNPIVOT运算符则执行与PIVOT运算符相反的操作,它将输入表的列旋转为行。 PIVOT和UNPIVOT的语法如下: [ FROM { <table_source> } [ ,...n ] ] <table_source> ::= { table_or_view_name [ [ AS ] table_alias ] <pivoted_table> | <unpivoted_table> } <pivoted_table> ::=table_source PIVOT <pivot_clause> table_alias <pivot_clause> ::=( aggregate_function ( value_column ) FOR pivot_column IN ( <column_list> <unpivoted_table> :: = table_source UNPIVOT <unpivot_clause> table_alias <unpivot_clause> :: = ( value_column FOR pivot_column IN ( <column_list> <column_list> :: = column_name [ , ... ] tab
您可能关注的文档
- 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 2005中文版基础教程习题答案 作者 宋晓峰 SQL Server 2005中文版基础教程测试题(二套).doc
- SQL Server 2005中文版基础教程习题答案 作者 宋晓峰 SQL Server 2005中文版基础教程测试题(二套)答案.doc
- SQL Server 2005中文版基础教程习题答案 作者 宋晓峰 SQL Server 2005中文版基础教程测试题(一套).doc
- SQL Server 2005中文版基础教程习题答案 作者 宋晓峰 SQL Server 2005中文版基础教程测试题(一套)答案.doc
- SQL Server 2005中文版基础教程习题答案 作者 宋晓峰 SQL Server 2005中文版基础教程示例的TSQL语句.doc
- SQL Server 2008数据库管理与开发教程 第2版 教学课件 作者 王雨竹 张玉花 张星第10章 SQL Server 2008安全管理.ppt
- SQL Server 2008数据库管理与开发教程 第2版 教学课件 作者 王雨竹 张玉花 张星第11章 SQL Server 2008维护管理.ppt
- SQL Server 2008数据库管理与开发教程 第2版 教学课件 作者 王雨竹 张玉花 张星第12章 基于CS结构的数据库开发技术.ppt
- SQL Server 2008数据库管理与开发教程 第2版 教学课件 作者 王雨竹 张玉花 张星第13章 基于BS结构的数据库开发技术.ppt
- SQL Server 2008数据库管理与开发教程 第2版 教学课件 作者 王雨竹 张玉花 张星附录 上机实验.ppt
- SQL Server 2008数据库开发经典案例教程电子教案&习题解答等吕玉桂 电子教案 第1章数据库基础.ppt
- SQL Server 2008数据库开发经典案例教程电子教案&习题解答等吕玉桂 电子教案 第2章数据库管理.ppt
- SQL Server 2008数据库开发经典案例教程电子教案&习题解答等吕玉桂 电子教案 第3章SQL Server表管理 1.ppt
- SQL Server 2008数据库开发经典案例教程电子教案&习题解答等吕玉桂 电子教案 第3章SQL Server表管理 2.ppt
- SQL Server 2008数据库开发经典案例教程电子教案&习题解答等吕玉桂 电子教案 第4章SQL Server数据管理.ppt
文档评论(0)