存储过程
存储过程保存在mysql.proc表中
创建存储过程
CREATE PROCEDURE sp_name ([proc_parameter [,proc_parameter ...]]) routime_body
其中:proc_parameter:[IN|OUT|INOUT] parameter_name type
其中IN表示输入参数,OUT表示输出参数,INOUT表示既可以输入也可以输出;
param_name表示参数名称;type表示参数的类型
查看存储过程列表
SHOW PROCEDURE STATUS
查看存储过程定义
SHOW CREATE PROCEDURE sp_name
调用存储过程
CALL sp_name ([proc_parameter [,proc_parameter...]])
CALL sp_name
- 说明:当无参数时,可以省略"()",当有参数时,不可省略"()"
存储过程修改
ALTER 语句修改存储过程只能修改存储过程的注释等无关紧要的东西,不能修改存储过程体,所以要修改存储过程,方法就是删除重建
删除存储过程
DROP PROCEDURE [IF EXISTS] sp_name
存储过程示例
- 创建无参数存储过程:
DELIMITER // CREATE PROCEDURE showTime() BEGIN SELECT now(); END// DELIMITER ; CALL showTime;
- 创建含参数存储过程:只有一个IN参数
DELIMITER // CREATE PROCEDURE seleById(IN id SMALLINT UNSIGNED) BEGIN SELECT * FROM students WHERE stuid = uid; END// DELIMITER ; CALL seleById(2);
网友评论