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%';