实验九T-SQL编程、存储过程、游标.docx
《实验九T-SQL编程、存储过程、游标.docx》由会员分享,可在线阅读,更多相关《实验九T-SQL编程、存储过程、游标.docx(3页珍藏版)》请在装配图网上搜索。
1、实验九:T-SQL编程、存储过程、游标、实验目的i. 掌握存储过程的实现;1. 掌握各种运算符和控制语句的使用;2. 掌握函数创建及使用;3. 掌握SQL-Server中数据库备份和恢复的方法。二、实验学时2学时三、实验要求1. 掌握存储过程的编写和运行方法;2. 了解T-SQL各种运算符、控制语句及函数的功能及使用方法;3. 了解创建备份设备和进行数据库完全备份操作的方法和恢复的步骤;4. 完成实验报告。四、实验内容1.变量的使用(1) 创建局部变量xh(char(9)并使用set将student表中“李勇”的学号字段赋给该变量,然后使用select显示变量的值;(2) 计算学生信息表stu
2、dent中学生最高年龄和最低年龄之差,并使用select将结果赋值给cz,然后使用print显示变量的值,格式为“最高年龄和最低年龄之差为:*”。提示:将数值类型转换为字符类型可以使用str函数。2.应用内置函数(1) 求course表中课程号为“03”的课程名称的长度,并在消息提示框中输出结果。结果格式为:“03号课程名称的长度为:*”。提示:使用CONVERT函数。(2) 统计student表中的学生人数,并在消息提示框中输出结果。结果格式为“student表中共有*名学生”,请将(3) 使用字符串串联运算符“+”,将student表中的所有字段串联在一起用一个“学生信息”字段显示出来。提
3、示:将字段中的多余空格删除可以使用Ltrim和Rtrim函数;3.流程控制语句(1) 判断student表中是否存在编号为的学生,如果存在,则显示该学生基本信息;若不存在,则显示“查无此人。(2)假设变量X的初始值为0,使用循环每次加1,并打印X的值,直至X变为5。(3)使用CASE语句对sc表中的成绩进行分类。(V60,不及格,6070,及格;7080,中等;8090,良好;90以上,优秀)(4)查询学号为“”的学生的平均分是否超过了85分,若超过则输出“XX(学生姓名)考出了高分”,否则输出“XX(学生姓名)考的一般”。4. 定义函数(1)定义一个函数CHECK_SNO实现如下功能:对于一
4、个给定的sn。值,查询该值在sc表中是否存在,若存在则返回0,否则返回.1。(2)写一段T-sql程序调用上述函数。当向sc表插入一行记录时,首先调用函数CHECK_SNO检索该记录的sno值在表student中是否存在对应值,若存在,则将该记录插入记录(、,02,75)到sc表中。(3)定义一函数,按系别统计当前所有学生的平均年龄,并调用该函数求出“CS”系学生的平均年龄。5. 编写并执行以下存储过程(1)创建一个无参存储过程pr_StuScore,查询以下信息:班级、学号、姓名、性别、课程名称、考试成绩。(2)创建一个带参数的存储过程pr_StuScoreInfo2,该存储过程根据传入的学
5、生编号和课程名称查询以下信息:班级、学号、姓名、性别、课程名称、考试成绩。(3)创建一个带参数的存储过程pr_xxscore,该存储过程根据传入的学生编号和课程号,并通过变量输出该学生的课程成绩。(4)创建存储过程,通过给定两个学生的学号,比较两个学生的年龄,若前者比后者高就输出0,否则输出1。(调用时比较号和号的年龄)。(5)编写带参数的存储过程pr_cavg,根据传入的课程名称统计该课程的平均成绩。(6)创建一存储过程pjage,用于统计某年龄段所有学生的学号、姓名及所选课程信息。(7)创建一个添加学生记录的存储过程stduentadd,用来给student表添加一条记录。(*,T徐小明、,男,24,CS)6. 游标的使用建立一个游标,其功能是列出全体学生信息(学号、姓名、院系名称)。并循环提取出游标中的记录,并在消息窗口中逐一输出每个学生的学号、姓名、院系,格式为“张三的学号为:*院系为:*。
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。