2022年实验六存储过程和触发器.pdf
《2022年实验六存储过程和触发器.pdf》由会员分享,可在线阅读,更多相关《2022年实验六存储过程和触发器.pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验六存储过程和触发器实验六存储过程与触发器一、目的与要求1. 掌握编写数据库存储过程的方法。2. 掌握建立数据库触发器的方法, 通过实验观察触发器的作用与触发条件设置等相关操作。二、实验准备1. 了解编写存储过程与调用的T-SQL语法; 2. 了解触发器的作用 ; 3. 了解编写触发器的 T-SQL语法。三、实验内容(一)存储过程在 studentdb数据库中建立存储过程getPractice, 查询指定院系 (名称)(作为存储过程的输入参数 )中参与“实践”课程学习的所有学生学号、姓名、所学课程编号与课程名称 ,若院系不存在 ,返回提示信息。提示:D_Info 表中存储了院系代码D_ID,
2、而 St_Info 表中学号字段 St_ID 的前两位与之对应 ,则 D_Info 表与 St_Info 表之间的联系通过这两个字段的运算构成连接条件。1. 分别执行存储过程getPractice, 查询“法学院”与“材料科学与工程学院”的学生中参与“实践”课程的所有学生学号、姓名、所学课程编号与课程名称。create procedure getPractice D_Name varchar(30) output as begin if not exists (select * from D_Info where D_Name= D_Name ) print 对不起 ,该院系不存在 else
3、select st_info、St_ID,C_Info、C_No,C_Name from s_c_info inner join st_info on st_info、St_ID=s_c_info、st_id inner join C_Info on s_c_info、c_no=C_Info、C_No where st_info、St_ID in ( select St_ID from st_info join D_Info on D_Info 、D_ID =left(st_info 、St_ID,2) where C_Info、C_Type=实践 and D_Info、D_Name= D_N
4、ame ) end go 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 9 页 - - - - - - - - - - 实验六存储过程和触发器精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 9 页 - - - - - - - - - - 实验六存储过程和触发器2. 利用系统存储过程sp_rename将 getPractice更名为 getPctStu execute sp_rename ge
5、tPractice , getPctStu 3. 修改存储过程 getPctStu, 返回指定院系中参与实践课程的学生人次数,并利用该存储过程以“法学院”为输入参数验证执行的结果alter procedure getPctStu D_Name varchar(30) as begin if not exists (select * from D_Info where D_Name= D_Name ) print 对不起 ,该院系不存在 else select st_info、St_ID,C_Info、C_No,C_Name,count (st_info 、St_ID) as 人次数from s
6、_c_info inner join st_info on st_info、St_ID=s_c_info、st_id inner join C_Info on s_c_info、c_no=C_Info、C_No where st_info、St_ID in ( select St_ID from st_info join D_Info on D_Info 、D_ID =left(st_info 、St_ID,2) where C_Info、C_Type=实践 and D_Info、D_Name= D_Name ) group by st_info、St_ID,C_Info 、C_No,C_Na
7、me end Go exec getPctStu 法学院 Go 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 9 页 - - - - - - - - - - 实验六存储过程和触发器4. 再修改存储过程 getPctStu, 返回指定院系中参与实践课程的学生人数。注:“人数”与“人次数”就是不同的,对某一学生而言 ,如果参与了多门实践课程,则“人次数”就是指其参与的课程门数,而“人数”仍为 1。(二)触发器1、在 studentdb数据库中建立一个具有审计功能的触发器: 触发器名为 tr_sc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 实验 存储 过程 触发器
限制150内