什么是存储过程
存储过程就是把复杂的一系列操作,封装成一个过程。类似于shell,python脚本等。
存储过程的优缺点
优点: 1)复杂操作,调用简单 2)速度快 缺点: 1)封装复杂 2) 没有灵活性
创建存储过程语法
create procedure 名称 (参数....) begin 过程体; 过程体; end参数:in|out|inout 参数名称 类型(长度) in:表示调用者向过程传入值(传入值可以是字面量或变量) out:表示过程向调用者传出值(可以返回多个值)(传出值只能是变量) inout:既表示调用者向过程传入值,又表示过程向调用者传出值(值只能是变量)
声明变量
declare 变量名 类型(长度) default 默认值;
给变量赋值
set @变量名=值;
调用存储命令
call 名称(@变量名);
删除存储过程命令
drop procedure 名称;
查看创建的存储过程命令
show create procedure 名称\G;
创建一个简单的存储过程
mysql> delimiter //
mysql> create procedure name(in n int)
-> begin
-> select * from employee limit n;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
mysql> set @n=5;
-> //
Query OK, 0 rows affected (0.00 sec)
mysql> call name(@n);
mysql> create procedure name()
-> begin
-> declare n int default 6;
-> select * from employee limit n;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
mysql> call name();