MySQL存储过程
基本概念
创建和调用存储过程
定义存储过程中的参数
in
参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值
DELIMITER // CREATE PROCEDURE in_param(IN p_in int) BEGIN SELECT p_in; SET p_in=2; SELECT p_in; END; // DELIMITER ; 调用 SET @p_in=1; CALL in_param(@p_in); SELECT @p_in;
out
该值可在存储过程内部被改变,并可返回
#存储过程OUT参数 DELIMITER // CREATE PROCEDURE out_param(OUT p_out int) BEGIN SELECT p_out; SET p_out=2; SELECT p_out; END; // DELIMITER ; 调用 SET @p_out=1; CALL out_param(@p_out); SELECT @p_out;
inout
调用时指定,并且可被改变和返回
#存储过程INOUT参数 DELIMITER // CREATE PROCEDURE inout_param(INOUT p_inout int) BEGIN SELECT p_inout; SET p_inout=2; SELECT p_inout; END; // DELIMITER ; 调用 SET @p_inout=1; CALL inout_param(@p_inout) ; SELECT @p_inout;