创建存储过程
delimiter $$
create procedure 存储过程的名称(in/out 参数名 变量的数据类型,...)//参数以逗号分隔
begin
declare 变量 数据类型;//声明局部变量
set 变量=变量/表达式;//set 为变量进行赋值
select 语句;
end if;
end $$;
调用存储过程
call 存储过程的名称();
select @变量';//存储过程有输出参数时才需要写
$$
删除存储过程
drop procedure 存储过程名//注意此处不需要写括号
结合例子讲解
mysql> delimiter $$
mysql> create procedure compa(in id1 char(6),in id2 char(6),out bj int)
-> begin
-> declare src1,src2 float(8);
-> select income-outcome into src1 from salary where employeeid=id1;
-> select income-outcome into src2 from salary where employeeid=id2;
-> if id1>id2 then set bj=0;
-> else set bj=1;
-> end if;
-> end $$
Query OK, 0 rows affected (0.01 sec)
mysql> call compa('000001','108991',@bj);
-> select @bj;
-> $$
Query OK, 1 row affected (0.01 sec)
+------+
| @bj |
+------+
| 1 |
+------+
1 row in set (0.01 sec)
mysql> delimiter $$
mysql> create procedure test(out number1 int)
-> begin
-> declare number2 int;
-> set number2=(select count(*) from employees);
-> set number1=number2;
-> end$$
Query OK, 0 rows affected (0.04 sec)
mysql> call compa(@j);
-> select @j;
-> $$
这个是mysql创建存储过程的基本使用,还有很多的用法还有待我去学习。这个笔记如果有错,请留言