mysql中怎么创建存储过程?

文章目录

    • mysql中怎么创建存储过程?
      • 存储过程的参数列表
      • 通过mysql服务器创建存储过程
      • 通过SQLyog客户端创建存储过程

mysql中怎么创建存储过程?

创建存储过程有两种方式,一种是通过mysql服务器端创建,另外一种是通过SQLyog客户端创建;

存储过程的参数列表

# 参数列表包含三部分  参数模式  参数名  参数类型
#举例   in stuname varchar(20)
# in参数模式:被该模式修饰的参数可以作为输入参数,也就是该参数需要调用的传入值
# out参数模式:被该模式修饰的参数可以作为输出,也就是该参数可以作为存储过程的返回值
# 如果存储过程没有返回值,那么会执行begin和end之间的sql语句,并显示执行结果
# 如果存储过程有返回值,那么也会执行begin和end之间的sql语句,但是不会显示执行结果,而是把执行结果存储到输出参数中

通过mysql服务器创建存储过程

先来看第一种方式,首先进入mysql服务器端窗口,如下图:

mysql中怎么创建存储过程?_第1张图片

mysql中怎么创建存储过程?_第2张图片

然后选择一个数据库,我这里选择的是zhaobo数据库,如下图:

mysql中怎么创建存储过程?_第3张图片

接着使用命令创建一个名字为dd的存储过程,输入参数是学生id,此存储过程的作用是根据输入的学生id,显示学生的地址,创建命令如下:

delimiter$$
create procedure dd(in id varchar(20))
begin
select address from student
where sid=id;
end $$
delimiter ;

mysql中怎么创建存储过程?_第4张图片

调用存储过程的格式如下:

#call 存储过程名(参数) 结束标志

使用call命令调用存储过程,如下图:

mysql中怎么创建存储过程?_第5张图片

再来创建一个存储过程ee,此存储过程有两个参数,一个输入参数,另外一个是输出参数,此存储过程的作用是根据学生id查询学生的班级id,此存储过程对应的代码如下:

delimiter $$
create procedure ee(in sid varchar(20),out cid varchar(20))
begin
select student.cid into cid
from student
where student.sid=sid;
end $$

delimiter ;

mysql中怎么创建存储过程?_第6张图片

在调用带有输出参数的存储过程之前,一定要首先定义一个变量,用来接收存储过程的输出结果,在mysql定义变量的语法如下:

#set @变量名=初始值;
#注意两个关键点,第一是变量名之前一定要加@符号,第二是变量名一定要赋初始值

调用此存储过程,如下图:

mysql中怎么创建存储过程?_第7张图片

通过SQLyog客户端创建存储过程

如下图:

mysql中怎么创建存储过程?_第8张图片

mysql中怎么创建存储过程?_第9张图片

mysql中怎么创建存储过程?_第10张图片

mysql中怎么创建存储过程?_第11张图片

你可能感兴趣的:(mysql)