You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DBeaver中调用带输出参数的MySQL存储过程

解决DBeaver中调用带输出参数的MySQL存储过程问题

方案1:使用会话变量(最简便)

DBeaver的普通脚本环境对会话变量(@变量名)支持更直接,用以下代码即可获取输出参数:

-- 初始化会话变量
SET @oJSON = '';
-- 调用存储过程,指定输出参数
CALL myProc(8, 1, @oJSON);
-- 查询输出结果
SELECT @oJSON;

执行后就能在结果面板看到@oJSON的输出值。

方案2:使用匿名代码块(适合复杂逻辑)

如果必须用DECLARE声明局部变量,需将代码放在BEGIN...END块中,同时修改语句分隔符避免语法冲突:

-- 修改分隔符为//,避免与存储过程内的;冲突
DELIMITER //
BEGIN
    DECLARE oJSON LONGTEXT;
    CALL myProc(8, 1, oJSON);
    -- 输出局部变量值
    SELECT oJSON;
END //
-- 恢复默认分隔符
DELIMITER ;

必要检查项

  • 确认存储过程参数定义:确保输出参数声明为OUT或INOUT类型,示例定义开头如下:
    CREATE PROCEDURE myProc(IN p1 INT, IN p2 INT, OUT oJSON LONGTEXT)
    
  • 开启DBeaver多语句支持:编辑MySQL连接,进入「驱动属性」,找到allowMultiQueries选项并设置为true,否则无法执行包含DELIMITER和BEGIN...END的脚本。

内容的提问来源于stack exchange,提问作者Jake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 17:49:55