- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验11 存储过程和用户自定义函数 实验目的 掌握通过企业管理器创建、修改、删除存储过程和用户自定义函数的方法 学会编写存储过程和用户自定义函数 掌握存储过程的执行方法 学会编写、调用三类用户自定义函数 实验准备 学习存储过程和用户自定义函数相关知识。 已掌握常程序控制流语句。 熟练使用T-SQL完成数据查询和程序设计。 还原studentdb数据库 实验内容和步骤 打开企业管理器,展开studentdb子目录,选中“存储过程”,单击鼠标右键,弹出快捷菜单,选择【新建存储过程(S)…】,打开新建存储过程窗口,如图11- 1。 图11- 1 新建存储过程 新建并执行存储过程“字母打印”。 在新建存储过程窗口输入以下代码。 CREATE PROCEDURE 字母打印 AS 注解:该存储过程是将26个小写英文字母按a~z的顺序输出,其中ascii()函数——返回字符对应ASCII码,char()函数——把ASCII码转换成对应字符。 输入完成后,单击【检查语法】按钮,确认输入内容正确后,单击【确认】按钮完成存储过程的创建。 打开查询分析器,输入: exec 字母打印 执行,查看运行结果。 修改存储过程“字母打印”并执行。 在企业管理器存储过程列表窗格中,选中存储过程“字母打印”,弹出快捷菜单,选择【属性(R)】,或直接双击该存储过程,打开属性窗口,如图11- 2。 图11- 2 存储过程“字母打印”属性窗口 修改代码内容,将“print char(ascii(a)+@count)”改为“print char(ascii(A)+@count)”。 单击【确认】按钮,完成存储过程的修改。 重新在查询分析器执行该存储过程,查看运行结果。 新建并执行带输入参数的存储过程。 在企业管理器中新建存储过程“成绩查询”,代码如下: 在查询分析器窗口中,选择studentdb数据库。要求:通过存储过程“成绩查询”查看学号为“2007224117”的成绩。 方法一:输入exec 成绩查询 ‘2007224117’,并执行。 方法二:输入 执行,查看该同学的成绩。 注:以上是执行含输入参数存储过程的常用方法,参数可以直接通过值传递,也可以通过变量传递。 练习:请新建存储过程“学生信息”,输入参数仍为学号,返回学号对应的“学生”表信息,并通过该存储过程查看学号为“2007224117”的个人信息。 新建带返回参数的存储过程并执行。 在企业管理器中新建存储过程“学生平均成绩”,代码如下: 在查询分析器窗口中,选择studentdb数据库,输入代码: 执行,查看运行结果。 注:执行带有返回参数的存储过程时,必须先定义变量(存返回值),exec语句须加output关键字。 练习:请新建存储过程“班级平均成绩”,输入参数为专业、年级、班序号,输出对应的平均总评成绩。并使用该存储过程查询专业为1009,年级为2008,班序号为1的平均总评成绩。 新建存储过程“学生成绩分析”,输入参数“学号”,判断该学号对应平均考试成绩若在90分及以上,认为优秀,60分以下为差,其他情况为一般,并把结果存在“学生考试评价”表中。 在查询分析器中输入以下代码,生成【学生考试评价】表。 CREATE TABLE [dbo].[学生考试评价] ( [学号] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL , [平均成绩] [int] NULL , [考试评价] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO ALTER TABLE [dbo].[学生考试评价] ADD CONSTRAINT [PK_学生考试评价] PRIMARY KEY CLUSTERED ( [学号] ) ON [PRIMARY] GO 录入存储过程代码 注:IF的嵌套也可以通过CASE语句完成。参考: set @评价=(case when @平均分=85 then 优秀 when @平均分=60 and @平均分85 then 一般 when @平均分60 then 差 end) insert into 学生考试评价(学号,平均成绩,考试评价) values(@学号,@平均分,@评价) 或者: insert into 学生考试评价(学号,平均成绩,考试评价) values(@学号,@平均分,(case when @平均分=85 then 优秀 when @平均分=60 and @平均分85 then 一般 when @平均分60 then 差 end)) 运行存储过程。 新建用户自定义
文档评论(0)