版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验六 游标、存储过程与触发器一、实验目的掌握使用T-SQL实现游标、存储过程和触发器的创建,使用方法。二、实验内容在实验一、实验二创建的表中用T-SQL语句完成以下内容:1创建存储过程,根据指定的学生姓名查询该学生所修课程的课程信息,将课程号和课程名输出,并使用exec语句执行存储过程。gocreate procedure student_info s_sname varchar(10) as select Sname,C.Cno,Cname from C,S,SC where S.Sno = SC.Sno and C.Cno = SC.Cno and Sname = s_sname执行存储
2、过程EXEC student_info s_sname = '孙天'2创建存储过程,根据指定的学生学号统计该学生选修的所有课程的平均成绩和选课门数,将统计的结果用输出参数返回,并使用exec语句执行存储过程。gocreate procedure avg_count s_sno varchar(10), avg_grade int output, total int output as select avg_grade = AVG(Grade), total = COUNT(S.Sno) from S,SC where S.Sno = SC.Sno and S.Sno = s_s
3、no执行存储过程declare grade int, to intexec avg_count '09105101', grade output, to outputselect grade as 平均成绩, to as 选课门数3创建存储过程,根据用户指定的供应商号删除SPJ表中相应的供货信息,并使用exec语句执行存储过程。gocreate procedure cno_info s_sno varchar(10) as delete from SPJ where SPJ.Sno = s_sno执行存储过程exec cno_info s_sno = 'S3'其
4、中没有S3的供应信息4创建存储过程,将指定零件的重量增加指定的值,并使用exec语句执行存储过程。gocreate procedure p_weight p_pno varchar(10) as update P set Weight = Weight + 2 where Pno = p_pno执行存储过程之前执行存储过程之后 exec p_weight p_pno = 'P1'5使用游标实现将SC表中及格的选课信息输出。declare sc_sno varchar(10), sc_cno varchar(10), sc_grade int declare c1 cursor
5、for select Sno, Cno, Grade from SC open c1 fetch c1 into sc_sno, sc_cno, sc_grade while(FETCH_STATUS=0) begin if(sc_grade >= 60) select sc_sno as 学号, sc_cno as 课程号, sc_grade as 成绩 fetch c1 into sc_sno, sc_cno, sc_grade end close c1deallocate c16使用游标将SPJ表中的偶数行输出。declarespj_sno varchar(10), spj_pno
6、 varchar(10), spj_jno varchar(10), spj_qty smallint, n int = 5declare c1 cursor static for select Sno, Pno, Jno, QTY from SPJopen c1fetch absolute n from c1 into spj_sno, spj_pno, spj_jno, spj_qtywhile(FETCH_STATUS=0)beginselect spj_sno,spj_pno,spj_jno,spj_qtyset n=n+5fetch absolute n from c1 into s
7、pj_sno,spj_pno,spj_jno,spj_qtyendclose c1deallocate c17用触发器实现约束:如果是北京的供应商,供应任何零件的数量不能少于300,如果少于则自动改为300。创建触发器之前创建触发器create trigger t1 on SPJafter insert,updateasdeclare sno varchar(10), pno varchar(10), jno varchar(10), qty smallint, city varchar(10)declare c1 cursor for select S.Sno,Pno,Jno,QTY,Cit
8、y from inserted,Sopen c1fetch next from c1 into sno,pno,jno,qty,citywhile(fetch_status=0)begin if qty < 300 and sno in (select Sno from S where City = '北京') update SPJ set QTY = 300 where Sno = sno and Pno = pno and Jno = jno fetch next from c1 into sno,pno,jno,qty,cityendclose c1dealloca
9、te c1测试触发器insert into SPJvalues('S2','P2','J2',100)update SPJset QTY = 100where Sno = 'S2' and Pno = 'P3' and Jno = 'J1'8在SC关系中增加新属性列Status,用来记录课程成绩的等级,059分为“D”,6069为“C”,7089为“B”,90以上为“A”。要求status属性列的值由用户在插入、更新选课成绩时系统自动填写和更新。先为SC表新增加一列alter table SCadd
10、 status varchar(10)create trigger t1 on SCafter insert,updateasdeclare grade int,sno varchar(10),cno varchar(10)declare c1 cursor for select sno,cno,grade from insertedopen c1fetch next from c1 into sno,cno,gradewhile(fetch_status=0)beginif grade >= 90 update sc set status = 'A' where sno
11、 = sno and cno = cnoelse if grade >= 70 update sc set status = 'B' where sno = sno and cno = cnoelse if grade >= 60 update sc set status = 'C' where sno = sno and cno = cnoelse update sc set status = 'D' where sno = sno and cno = cnofetch next from c1 into sno,cno,gradeendclose c1deallocate c1测试触发器(插入)insert into SC(Sno,Cno,Grade)values('09105104','003',95)update SCset Grade = 70where Sno = '09105101' and Cno = '002'
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于协议离婚的抚养权
- 2024夫妻自愿离婚协议书
- 贝克痣病因介绍
- 落叶型天疱疮病因介绍
- 自身免疫性脑炎病因介绍
- 中考历史基础知识第4讲列强的侵略与中国人民的抗争
- 房屋与室内环境检测技术-模块三房屋实体查验与检76课件讲解
- 中小学校长2024年度述职报告范文
- 2022-2023学年天津市和平区第二南开学校高二(上)期中语文试卷
- 2024秋新沪科版物理八年级上册教学课件 第三章 光的世界 第一节第1课时 光的直线传播
- 《钢管脚手架、支架安全选用技术规程》DB11T583-2024
- 眼视光学理论和方法智慧树知到期末考试答案2024年
- 2023年骨科科室年终总结
- 创伤的现场急救
- 不良资产处置培训
- 铁路客运规章考核试题及答案
- 青少年社会认知的发展与教育
- 2021年秋七年级数学上册人教版讲解课件:第一章《有理数》单元小结与复习
- 长输管道安全管理知识课件
- T-SILA 002-2021 电力线载波通信(PLC)工业照明互联规范
- 机械专业职业生涯规划
评论
0/150
提交评论