《数据库系统实验》
实验报告
题目 | 实验8——存储过程基本操作 |
一、实验环境:
1、操作系统:Windows 11 22H2;
2、DBMS :mysql 8.0 CE;
8.2 创建一个名称为select_s的存储过程,该存储过程的功能是从student表中查询所有女生的信息,并执行该存储过程
创建存储过程:
delimiter //
create procedure select_s()
Begin
select * from student where ssex="女";
End;
call select_s();
执行结果如下图所示。
8.3 定义具有参数的存储过程。创建名称为insrectos的存储过程,该存储过程的功能是从student表中根据学号查询某一学生的姓名和年龄并返回。执行该存储过程。
创建存储过程:
delimiter //
create procedure insrectos (in sn char(7),out age int,out the_name varchar(20))
begin
select sage, sname into age, the_name
from student
where sno = sn;
End;
执行存储过程:
delimiter;
set @age = 0, @sno ="2005002", @the_name = "no_name";
call insrectos(@sno, @age, @the_name);
select @the_name, @age;
结果如下图所示。
8.4 将存储过程select_s改名为SELECT_STUDENT
由于旧版本不支持rename将存储过程进行改名,故在此改为创建新的存储过程,然后删除旧的存储过程。
创建与删除存储过程:
delimiter //
create procedure SELECT_STUDENT() #创建新表
Begin
select * from student where ssex="女";
End//
drop procedure select_s; #删除旧表
执行存储过程:
call SELECT_STUDENT();
结果如下图所示。