#第10章 存储过程与存储函数
#【例10.1】修改MySQL的结束符为“//”。
delimiter //
delimiter ;
#【例10.2】创建一个不带参数的存储过程P_str,输出“Hello MySQL!”。
use stusys;
delimiter //
create procedure P_str()
begin
select'Hello MySQL' as 课程名称;
select'上海立达学院数字科学学院——2021091' as 个人简介;
end //
delimiter ;
call P_str();
drop procedure P_str;
#【例10.3】创建一个带参数的存储过程P_maxGrade,查询指定学号学生的最高分。
use stusys;
select*from score;
delimiter //
create procedure P_maxGrade(in v_sno char(10))
begin
select max(grade) from score
where v_sno=sno;
end //
delimiter ;
call P_maxGrade('196004');
use stusys;
delimiter //
create procedure P_maxGrade()
begin
select max(grade) from score
where v_sno=sno;
end //
delimiter ;
call P_maxGrade('196004');
select*from student;
#【例10.4】创建存储过程P_math,如果”高等数学”课程的平均成绩大于80分,则显示”高等数学成绩良好”,否则显示”高等数学成绩一般”。
#【例10.5】创建存储过程P_title,将教师职称转变为职称类型。
#【例10.6】创建存储过程P_integerSum,计算1~100的整数和。
#【例10.7】创建存储过程P_oddSum,计算1~100的奇数和。
#【例10.8】创建存储过程P_factorial,计算10的阶乘。
#【例10.9】创建一个存储过程,计算student表中行的数目。
#【例10.10】创建向学生表插入一条记录的过程P_insertStudent,并调用该过程。
use stusys;
delimiter //
create procedure P_insertStudent()
begin
insert into student values('191005','王燕', '女','1999-04-17',null,null);
select * from student where sno ='191005';
end //
delimiter ;
call P_insertStudent();
use stusys;
delimiter //
create procedure P_insertStudent()
begin
insert into student
values('191005','王燕', '女','1999-04-17',null,null);
select * from student
where sno ='191005';
end //
delimiter ;
call P_insertStudent()