一、空参存储过程
SELECT * FROM job;
delimiter $
# 创建存储过程
CREATE PROCEDURE myp1()
BEGIN
INSERT INTO job(name,job)
VALUES ('张老三','省长'),('肉丝','省长'),('杰克','省长');
END $
# 调用存储过程
CALL myp1() $
二、带参存储过程
SELECT * FROM stuinfo;
delimiter $ #将结束符设置为$
# 创建存储过程
CREATE PROCEDURE myp2(IN stuName VARCHAR(20) )
BEGIN
SELECT stu.gender FROM stuinfo stu WHERE stu.stuName=stuName;
END $
CALL myp2('张三') $
案例:用户登录是否成功
三、输出参数存储过程
SELECT * FROM stuinfo;
delimiter $
CREATE PROCEDURE myp(IN stuName VARCHAR(20),OUT age INT(11)) # age作为输出形参
BEGIN
SELECT stu.age INTO age FROM stuinfo stu WHERE stu.stuName=stuName;
END $
CALL myp('张三',@stuAge) $ # stuAge作为输出实参
SELECT @stuAge $
案例:多个输出参数存储过程使用','隔开
四、输入输出参数存储过程
案例:传入a 和 b 之后 翻倍返回
五、存储过程的删除
DROP PROCEDURE myp;
六、存储过程的查看
SHOW CREATE PROCEDURE myp