mysql存储过程

1、创建存储过程

drop procedure if exists num;
DELIMITER |
create procedure num(out s int)
begin
  select count(*) from book;
end;

  调用上述存储过程(CALL语句调用一个先前用CREATE PROCEDURE创建的程序)

set @s=0;
call num(@s);

  注意: 指定参数为IN, OUT, 或INOUT 只对PROCEDURE是合法的。(FUNCTION参数总是被认为是IN参数)指定参数为IN, OUT, 或INOUT 只对PROCEDURE是合法的。(FUNCTION参数总是被认为是IN参数)

      RETURNS字句只能对FUNCTION做指定,对函数而言这是强制的。它用来指定函数的返回类型,而且函数体必须包含一个RETURN value语句。

  CALL语句可以用声明为OUT或的INOUT参数的参数给它的调用者传回值。它也“返回”受影响的行数,客户端程序可以在SQL级别通过调用ROW_COUNT()函数获得这个数,从C中是调用the mysql_affected_rows() C API函数来获得。

2、查看存储过程

show create procedure num;

3、删除存储过程

drop procedure num;

4、查看存储过程状态

show procedure status;

   或

show procedure status like 'num%';
原文地址:https://www.cnblogs.com/sunjf/p/mysql_procedure.html