数据库系统实验 6 实验报告
数据科学与计算机学院 计算机科学与技术 2016 级
王凯祺 16337233
2018 年 12 月 4 日
1 实验 6 存储过程实验
1.1 无参数的存储过程
定义一个存储过程,根据选课记录更新所有学生的绩点。
1 delimiter //
2 create procedure Proc_CalCred()
3 begin
4 set SQL_SAFE_UPDATES = 0;
5 update student
6 set tot_cred = (
7 select sum(credits)
8 from takes natural join course
9 where (takes.grade is not null) and takes.grade <> ’F’ and student.ID =
takes.ID
10 );
11 set SQL_SAFE_UPDATES = 1;
12 end //
13
delimiter ;
执行存储过程 Proc_CalCred 。
1 CALL ‘lab‘.‘Proc_CalCred‘();
1.2
有参数的存储过程
定义一个存储过程,根据选课记录更新指定学生(学号)的绩点。
1 delimiter //
2 create procedure Proc_CalCred4Student(stu varchar(5))
3 begin
4 update student
5 set tot_cred = (
6 select sum(credits)
7 from takes natural join course
8 where (takes.grade is not null) and takes.grade <> ’F’ and student.ID =
takes.ID
1
评论0