MySQL Workbench中OUT参数存储过程需输入值的问题咨询
MySQL存储过程OUT参数调用问题解决
你的存储过程逻辑本身是正确的,出现的问题是MySQL Workbench的交互逻辑和命令行调用的语法规范导致的,以下是具体解决方法:
1. MySQL Workbench界面执行的正确操作
- 当Workbench弹出参数输入窗口时,OUT参数
p_avg_sal无需填写任何值,直接点击执行即可完成调用,存储过程会自动将计算结果写入该参数。 - 如果你想避免弹出输入框,直接在查询编辑器中用命令调用,写法如下:
执行后直接通过CALL avg_employee_sal_out(10001, @avg_sal); SELECT @avg_sal;SELECT语句查看OUT参数的结果。
2. 命令行/终端调用的正确语法
命令行调用存储过程时,OUT参数必须绑定到用户变量(以@开头),不能直接传入NULL或空值,正确示例:
-- 调用存储过程,指定IN参数并将结果存入用户变量@avg_sal CALL avg_employee_sal_out(10001, @avg_sal); -- 查询变量获取平均薪资结果 SELECT @avg_sal;
3. 讲师界面无输入提示的原因
这是MySQL Workbench版本差异导致的:旧版本Workbench会自动识别OUT参数类型,不会弹出输入框;而新版本默认会显示所有参数的输入项,无论参数类型是IN还是OUT。你可以通过直接使用命令调用的方式绕过这个界面交互问题。
内容的提问来源于stack exchange,提问作者Vardhman
相关产品推荐
相关产品推荐

