实验六-存储过程和触发器(5页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《实验六-存储过程和触发器(5页).doc》由会员分享,可在线阅读,更多相关《实验六-存储过程和触发器(5页).doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-实验六-存储过程和触发器-第 5 页 实验六 存储过程和触发器一、目的与要求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 asbeginif not exists (select *from D_Infowhere D_Name= D_Name print 对不起,该院系不存在elseselect st_info.St_I
3、D,C_Info.C_No,C_Namefrom 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_Nowhere 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_Nameend go2. 利用系统存储过程sp_r
4、ename将getPractice更名为getPctStuexecute sp_rename getPractice , getPctStu3. 修改存储过程getPctStu,返回指定院系中参与实践课程的学生人次数,并利用该存储过程以“法学院”为输入参数验证执行的结果alter procedure getPctStu D_Name varchar(30) asbeginif not exists (select *from D_Infowhere D_Name= D_Name print 对不起,该院系不存在elseselect st_info.St_ID,C_Info.C_No,C_Nam
5、e,count (st_info.St_ID) as 人次数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_Nowhere 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 s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 存储 过程 触发器
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内