MySQL 存储过程 inout 参数跟 out 类似,都可以从存储过程内部传值给调用者。
不同的是:调用者还可以通过 inout 参数传递值给存储过程。
DELIMITER ;; -- 重新定义结束符号
CREATE PROCEDURE `ceshi_inout`(INOUT `id` INT) -- 创建 存储过程 inout参数 的使用
-- 括号中 可以定义参数 类型三种 分别为 in , out ,inout
BEGIN -- 开始存储过程
SET id= 1;
SELECT * FROM `user` WHERE user_id=`id`; -- 当作 in参数 使用 在调用 存储过程的时候 给 id一个 值 或者在 存储过程中 set 给值
END ;;
-- 通过 set id 给 id 赋值 之后 在查询中 使用 当作 条件判断 user_id=`id`
CALL `ceshi_inout`(@id);-- 调用 存储过程 存储过程名 后 加 () 给一个 @id 接收 值 输出如下
SELECT @id; -- //使用 @id 输出
使用 @id 输出 如下
个人见解,小白一个。这篇 关于 存储过程 有兴趣 可以看看 https://www.cnblogs.com/chubeautiful/p/3540710.html