- 1
- 0
- 约6.39千字
- 约 58页
- 2023-07-08 发布于广东
- 举报
数据库自定义函数事务锁; 本章主要介绍SQL Server 2005的高级应用,包括用户自定义函数、实现交叉表查询、事务处理以及锁。
通过本章的学习,读者可以创建和管理用户自定义函数,可以使用PIVOT、UNPIVOT以及CASE实现交叉表查询,并了解事务处理机制和锁,应用事务和锁优化对数据的访问。;9.1 用户自定义函数; 创建用户自定义函数; 使用T-SQL语言创建用户自定义函数;函数可以有0个或若干个输入参数,但必须有返回值,returns后面就是设置函数的返回值类型。
用户自定义函数为标量值函数或表值函数。
如果returns子句指定了一种标量数据类型,则函数为标量值函数;如果returns子句指定TABLE,则函数为表值函数。
根据函数主体的定义方式,表值函数可分为内联函数和多语句函数。;【例7-7】为CollegeMIS数据库创建一个名为ScoreGrade的用户自定义函数,该函数用来对百分制成绩进行判断,并返回相应的等级。成绩大于等于90分时,返回的等级为“优秀”;成绩大于等于80分而小于90分时,返回的等级为“良好”;成绩大于等于70分而小于80分时,返回的等级为“中等”;成绩大于等于60分而小于70分时,返回的等级为“及格”;其它情况返回不及格。并调用该函数显示出所有选修了“0002”号课的人的成绩等级。 ;CREATE FUNCTION ScoreGrade(@Score tinyint) RETURNS varchar(8)
BEGIN
DECLARE @GradeStr varchar(8)
SET @GradeStr=
Case
WHEN @Score=90 THEN 优秀
WHEN @Score=80 THEN 良好
WHEN @Score=70 THEN 中等
WHEN @Score=60 THEN 及格
ELSE 不及格
END
RETURN @GradeStr
END;3、调用自定义标量函数; 修改、删除用户自定义函数;【例】现在规定考试成绩低于55分为不及格,则可使用如下语句对FailureNum函数进行修改。 ;(1)通过企业管理器查看 ;4.删除自定义函数;9.2 使用SQL Server 2005实现交叉表查询; 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; 例如:图9.3所示的商品表就是一个典型的交叉表,其中“数量”和“月份”可以继续添加。
但是,这种格式在进行数据表存储的时候并不容易管理。; 图9.4 商品表结构; 图9.5 sp表;转换过程:上面的语句将按下面的步骤获得输出结果集。; 图9.7 使用 for 月份 in([9] ,
[10] , [11] , [12] )后得到的结果集 ;图9.9 使用UNPIVOT得到的结果集; 1.用PIVOT举例; 有时还需要根据表的其他字段进行交叉查询。
例如,在SP表中,按“月份”交叉查询。逐月进行聚合计算。SQL语句如下:
select 商品名称,a.[9] as [九月],a.[10] as [十月],a.[11]as [十一月], a.[12]as[十二月]
from sp
pivot (sum(销售数量)for 月份 in([9],[10],[11],[12])) as a
实现的过程如图9.11所示。; 2.用UNPIVOT举例;图9.13 unpivot对temp2实现逆操作; 9.2.2 CASE实现交叉表查询;【例9-4】 使用CASE语句实现交叉表查询。
SQL语句如下:实现的过程如图9.14所示;图9.15 sp表按照月份交叉表查询;9.3 事 务 处 理;模拟实现转帐:使用UPDATE语句,从张三的帐户直接转帐1000 元到李四的帐户 ,两账户总额应保持不变;事务的概念及特性 ;事务的分类 ;隐性事务:通过T-SQL的 SET IMP
您可能关注的文档
- 太阳能技术应用.ppt
- 物理刚体的转动.ppt
- 行政人员职业化训练教程.ppt
- 全民换油 健康益寿.ppt
- 数字图像处理第二章.ppt
- 如何做一名优秀的店长百货店长培训.ppt
- 统计思想与概率教学.ppt
- 数据处理的初相识.ppt
- 水电地质培训教材四水库工程地质.ppt
- 自我提升励志一名优秀员工的十六种特质.ppt
- 河北盐山中学等校2025-2026学年上学期高三一模化学试卷(含解析).docx
- 河北正定中学2025-2026学年高一上学期期末考试物理试卷(含解析).docx
- 河北张家口市怀安县2025-2026学年第一学期期末教学综合评价八年级地理试卷(含解析).docx
- 河南安阳市殷都区2025-2026学年第一学期期末教学质量检测七年级地理试卷(含解析).docx
- 河南安阳市滑县2025一2026学年第一学期期末学业质量监测八年级地理试题(含解析).docx
- 河南安阳市林州市2025-2026学年上学期期末考试高一政治试题(含解析).docx
- 河南焦作市武陟县第一中学2025-2026学年高一上学期1月月考语文试卷(含解析).docx
- 河南济源市2025-2026学年上学期期末学业质量调研七年级历史试卷(含解析).docx
- PICC导管并发症的紧急处理与护理.pptx
- 河南鹤壁市2025-2026学年高二上学期期末考试生物试题(含解析).docx
最近下载
- 如何找回误删微信好友,微信好友一键恢复.doc VIP
- 人教版高中物理课后习题答案.pdf VIP
- 人教版高中英语必修三《Unit 1 Festivals around the World》教学设计.pdf VIP
- 4.3 中国的交通运输业 第一课时 教学设计2025八年级地理上学期湘教版.pdf
- 常见IV曲线症状诊断分析.pptx VIP
- 2025年大梦杯数学竞赛试卷及参考答案解析.docx VIP
- 颈动脉支架植入术后护理查房.pptx VIP
- 小学数学巧算24点专项练习题(每日一练,共25份).docx VIP
- 小学数学巧算24点专项练习题(每日一练,共24份).docx VIP
- 医学课件-颈动脉支架植入医疗护理查房.pptx
原创力文档

文档评论(0)