MySQL数据库之MySQL中的存储过程
--创建存储过程
$--声明存储过程的结束符
est()--存储过程名称(参数列表)
--可以写多个sql语句;--sql语句+流程控制
*;
END$--结束结束符
--执行存储过程
();--CALL存储过程名称(参数);
--删除存储过程
t;
参数:
IN:表示输入参数,可以携带数据带存储过程中
OUT:表示输出参数,可以从存储过程中返回结果
:表示输入输出参数,既可以输入功能,也可以输出功能
1.带有输入参数的存储过程
需求:传入一个员工的id,查询员工信息
$
()--IN:输入参数
*=eid;
END$
--调用
(4);
2.带有输出参数的存储过程
$
((20))--OUT:输出参数
--给参数赋值
=‘‘;
END$
如何接受返回参数的值呢?这里涉及到的变量
变量一共有三种:
全局变量
全局变量又叫内置变量,是数据库内置的变量mysql存储过程怎么写,对所有连接都起作用。
查看所有全局变量:
查看某个全局变量:@@变量名
修改全局变量:set变量名=新值
:服务器的接收数据的编码
s:服务器输出数据的编码
会话变量
只存在于当前客户端与数据库服务器端的一次连接当中。如果连接断开,那么会话变量全部丢失!
定义会话变量:set@变量=值
查看会话变量:@变量局部变量
在存储过程中使用的变量就叫局部变量。只要存储过程执行完毕,局部变量就丢失。
回到上面这个存储过程,如何接受返回参数的值呢?
定义一个会话变量name,使用name会话变量接收存储过程的返回值
(@NAME);
查看变量值
@NAME;
3.带有输入输出参数的存储过程
$
()--:输入输出参数
--查看变量
;
SETn=500;
END$
--调用
SET@n=10;
(@n);
@n;
4.带有条件判断的存储过程
需求:输入一个整数,如果1mysql存储过程怎么写mysql存储过程怎么写,则返回“星期一”,如果2,返回“星期二”,如果3,返回“星期三”。其他数字,返回“错误输入”;
$
(,(20))
=
=‘星期一‘;
=
=‘星期二‘;
=
=‘星期三‘;
ELSE
=‘输入错误‘;
;
END$
--调用
(4,@str);
@str;
5.带有循环功能的存储过程
需求:输入一个整数,求和。例如,输入100,统计1-100的和
$
(,)
--定义一个局部变量
;
T0;
免责声明:本文系转载,版权归原作者所有;旨在传递信息,不代表本站的观点和立场和对其真实性负责。如需转载,请联系原作者。如果来源标注有误或侵犯了您的合法权益或者其他问题不想在本站发布,来信即删。