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

DBeaver 24版本中存储过程无输出问题求助

在DBeaver 24中显示Oracle存储过程的DBMS_OUTPUT输出

你用的存储过程靠dbms_output.put_line输出内容,但DBeaver默认没开启DBMS_OUTPUT控制台,所以看不到结果。按以下步骤设置就能解决:

步骤1:开启DBMS_OUTPUT功能

  • 右键点击目标Oracle数据库连接,选择「编辑连接」
  • 在连接设置窗口切换到「Oracle」标签页
  • 找到「DBMS_OUTPUT」选项,勾选「启用」,缓冲区大小保持默认(1000000)即可
  • 点击「确定」后,断开并重新连接数据库

步骤2:执行存储过程并查看输出

  • 在SQL编辑器中执行存储过程:
BEGIN
    display_employees2;
END;
/
  • 执行完成后,在DBeaver底部面板切换到「DBMS_OUTPUT」标签页,就能看到存储过程输出的员工信息了

额外检查项

  • 确认employees2表存在且有数据,否则存储过程不会生成输出
  • 若输出内容较多,可适当增大DBMS_OUTPUT的缓冲区大小,避免内容被截断

你的存储过程代码如下:

CREATE OR REPLACE PROCEDURE display_employees2 IS 
    CURSOR emp_cursor IS 
        SELECT 
            FIRST_NAME || ' ' || LAST_NAME AS full_name, 
            PHONE_NUMBER, 
            HIRE_DATE, 
            SALARY
        FROM employees2;
    v_full_name varchar(100);
    v_phone_number employees2.phone_number%TYPE;
    v_hire_date employees2.hire_date%TYPE;
    v_salary employees2.salary%TYPE;
BEGIN
    OPEN emp_cursor;
    LOOP
        FETCH emp_cursor INTO 
            v_full_name,
            v_phone_number,
            v_hire_date,
            v_salary;
        EXIT WHEN emp_cursor%NOTFOUND;
        dbms_output.put_line('Name         : ' || v_full_name);
        dbms_output.put_line('Phone number : ' || v_phone_number);
        dbms_output.put_line('Hire Date    : ' || v_hire_date);
        dbms_output.put_line('Salary       : ' || v_salary);
        dbms_output.put_line('--------------------');
    END LOOP;
    CLOSE emp_cursor;
END display_employees2;

内容的提问来源于stack exchange,提问作者Mohammad Fiki Rifkiana

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 09:37:36