mysql中怎么创建存储过程?

Posted 杀手不太冷!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql中怎么创建存储过程?相关的知识,希望对你有一定的参考价值。

mysql中怎么创建存储过程?

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

存储过程的参数列表

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

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

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

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

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

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

在这里插入图片描述

再来创建一个存储过程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定义变量的语法如下:

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

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

在这里插入图片描述

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

如下图:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

以上是关于mysql中怎么创建存储过程?的主要内容,如果未能解决你的问题,请参考以下文章

mysql中怎么创建存储过程?

mysql中如何创建存储过程

mysql 存储过程总结(一)

mysql存储过程中怎么进行跨库操作?

navicat for MySQL中的 查询编辑器中如何执行存储过程?

mysql 存储过程 出现unknown column