- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DateBase数据库实验报告
大连民族学院
计算机科学与工程学院实验报告
实验题目: PL/SQL程序设计
课程名称: 大型数据库技术
实验类型:□演示性 □验证性 □操作性 ■设计性 □综合性
专业:软件工程 班级:102 学生姓名:杨腾飞 学号:2010082225
实验日期:2012年10月27日 实验地点:多媒体机房(二)
实验学时:4 实验成绩:
指导教师签字: 2012 年 10月 日
一 实验目的
1、掌握 PL/SQL 程序设计的基本知识;
2、掌握 PL/SQL 中 SELECT 语句的正确使用方法;
3、掌握存储过程、函数、游标、触发器的创建与使用。
二 实验内容
1、addstudent用来向SC表里面增加一行数据。也就是传入参数是学生的student_number(唯一确定学生),课程的course_name(唯一的确定一门课程)。注意在向sc里插入一行数据后带来的影响:students表的current_credits要增加该课程的学分,classes表的current_students要增加一人。
2、循化打印出学生的选课情况,打印的格式如下(major, student_name, course_name, grade)
History Scott Smith HIS101 A
HIS106 B
CS102 C
ComputerScience Margaret Mason HIS101 A
CS102 C
......
......
三 实验步骤
1.对于第一小题首先编写一个能够级联修改students表的current_credits和classes表的current_students字段的存储过程,在插入的时候调用此存储过程插入,就可以完成表的级联修改了。
在往SC表插入数据前,先select一下student表和classes表里对应学生的信息,可以看到没插入SC表数据的时候学号为10000的学生学分为0,CS102号课程的选修人数是0。
调用刚才编写的存储过程对SC表插入一行数据
再次查询一下刚才在插入前查询的数据,可以看到,学分自动加上了选修课的学分,对应课程的已选人数也自动加了一个人。证明实验成功。
2. 第二小题要写一个匿名块将选出数据行放进游标里,再按照要求的格式循环输出就行了。
四 实验结果
1.能够级联修改students表的current_credits和classes表的current_students字段的存储过程,可以完成表的级联修改。
SQL create or replace procedure addstudent(
2 stu_number SC.student_number%TYPE,
3 cou_name SC.course_name%TYPE,
4 gra SC.grade%TYPE)
5 AS
6 add_credits classes.num_credits%TYPE;
7 begin
8 insert into SC values(stu_number,cou_name,gra);
9 select num_credits into add_credits
10 from classes
11 where course_name=cou_name;
12 update students set current_credits=current_credits+add_credits
13 where student_number=stu_number;
14 update classes set current_students=current_students+1
15 where course_name=cou_name;
16 commit;
17 end;
18 /
过程已创建。
在往SC表插入数据前,先select一下student表和classes表里对应学生的信息,可以看到没插入SC表数据的时候学号为10000的学生学分为0,CS102号课程的选修人数是0。
SQL select * from students where student_number=10000;
STU
您可能关注的文档
最近下载
- 安全管理资料目录(新版).doc VIP
- 神经质的实质与治疗 - 森田正马.doc VIP
- 改革开放后山西生活环境的巨大变化.pptx VIP
- 九年级美术下册 第三单元 第2课《动漫形象设计》教学教案 新人教版.doc VIP
- 比较级最高级练习.doc VIP
- D-Z-T 0325-2018 石膏、天青石、硅藻土矿产地质勘查规范(正式版).docx VIP
- (完整版)法兰连接尺寸HG20592-2009.pdf VIP
- 人工智能在消防防火中的应用.pptx VIP
- JB∕T 14641-2022 计算机和数据处理机房用间接蒸发冷却空调机组.pdf
- AI1AI增效:AI赋能职场办公提升.pptx VIP
文档评论(0)