首先,创建存储过程有个很要命的注意点,在Mysql中Delimiter的作用,少了它,创建存储过程会通不过,通不过。
MySql中 delimiter 详解 :可参考
创建:
DELIMITER //
CREATE PROCEDURE myproc(OUT s int)
BEGIN
SELECT COUNT(*) INTO s FROM students;
END
//
DELIMITER ;
这个是标准创建语句,其中
DELIMITER //
...
//
DELIMITER ;
这个不能缺少,否则创建就会报错
DELIMITER $$
...
$$
DELIMITER ;
这样的分割方式也是OK的,等同上边那句
删除:
Drop PROCEDURE If Exists myproc; -- 没有括号请注意
调用:
set@p_out=1;
Call myproc();
select @p_out;
这篇文章写得特别好,注释得也很详细,有非常好的指导意义:http://www.cnblogs.com/mark-chan/p/5384139.html