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中怎么创建存储过程?的主要内容,如果未能解决你的问题,请参考以下文章