实验六 存储过程和触发器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六使用SQLServer查询分析器创建存储过程和触发器
一、实验目的
(1) 掌握存储过程的实现;
(2) 掌握触发器定义和使用;
(3) 利用存储过程和触发器维护数据完整性;
(4) 了解使用存储过程来进行数据库应用程序的设计。
二、实验内容
(1) 编写存储过程;
(2) 创建触发器。
三、实验步骤:(包含实验记录,提供的数据、图表等资料内容)
1、对教学管理数据库,编写存储过程,完成下面功能:
(1)①创建一个无参存储过程StuScoreInfo,查询以下信息:学号、姓名、性
别、课程名称、考试成绩。
②写出存储过程的调用语句。
(2) ①创建一个带参数的存储过程stu_info,该存储过程根据传入的学生编号
在S表中查询此学生的信息。
②写出存储过程的调用语句。
(3) ①创建一个带参数的存储过程StuScoreInfo2,该存储过程根据传入的学生
编号和课程号查询以下信息:学号、姓名、性别、课程名称、考试成绩。
②写出存储过程的调用语句。
(4) ①编写带参数的存储过程,根据传入的课程名称统计该课程的平均成绩。
②写出存储过程的调用语句。
2、对教学管理数据库,编写触发器,完成下面功能:
(1) 在SC表上创建一个删除学生成绩事件的触发器,触发动作为输出:“对
不起,学生成绩不允许删除”,并且回滚删除事务。
(2) 创建一个删除学生的触发器,删除学生前要先删除学生成绩。
(3) 创建一个AFTER触发器,完成的功能是:在sc表上创建一个插入、更新
类型的触发器scCheck,当在sc表的grade字段中插入或修改考试分数后,触
发该触发器,检查分数是否在0-100之间,如果不在0-100之间就输出“输入分数错误”。
(4) 定义一个学生查询所有选课成绩的视图VIEW_SC,要求显示学号、学生
姓名、课程名、学分、成绩。在该视图上创建一个插入数据的INSTEAD OF 触发器,代替插入命令执行查询操作。
四、实验报告要求
1、用SQL表示实验内容里的相应语句;
2、列出遇到的问题和解决办法;
3、列出没有解决的问题;
4、写明实验所采用的实验环境。(操作系统、数据库管理系统)