一、存储过程
1.创建
DELIMITER // CREATE PROCEDURE pro_query()
BEGIN
SELECT * FROM tableA;
END //
DELIMITER ;
2.调用
CALL pro_query();
3.查询
- 全部查询
SHOW PROCEDURE STATUS;
- 指定查询
SHOW CREATE PROCEDURE pro_query;
4.删除
DROP PROCEDURE pro_query;
二、参数
存储过程根据需要可能会有输入、输出、输入输出参数,如果有多个参数用”,”分割开。MySQL存储过程的参数用在存储过程的定义,共有三种参数类型IN,OUTINOUT
,IN
参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值OUT
该值可在存储过程内部被改变,并可返回INOUT
调用时指定,并且可被改变和返回
- INT
DELIMITER //
CREATE PROCEDURE in_param(IN num int)
BEGIN
SELECT num;
SET num = 2;
SELECT num;
END
//
DELIMITER ;
SET @num=1;
CALL in_param(@num);
SELECT @num;
这里虽然@num在存储过程中被修改,但修改的状态仅在存储过程中有变动,并不影响存储过程之外的@num的值
- OUT
DELIMITER //
CREATE PROCEDURE