【问题标题】:DBMS OUTPUT doesn't workDBMS 输出不起作用
【发布时间】:2016-04-07 00:43:04
【问题描述】:

我需要一个建议。我将 Oracle Developer 用于一些匿名 PL/SQL 块。问题是当我运行它时,dbms_output 不给我任何东西,即使脚本是正确的(匿名块已完成)。

怎么了?我错过了什么?我已经启用了dbms_output 连接,测试似乎没问题。

set serveroutput on size 30000;

DECLARE
  CURSOR my_curs IS 
     SELECT studenti.nume, 
            studenti.prenume, 
            studenti.an, 
            note_studenti.nota, 
            obiecte.den 
       FROM studenti 
      INNER JOIN  note_studenti 
         ON studenti.mat = note_studenti.mat 
      INNER JOIN  obiecte 
         ON note_studenti.cod = obiecte.cod;

  v_nume     studenti.nume%TYPE;
  v_prenume  studenti.prenume%TYPE;
  v_an       studenti.an%TYPE;
  v_nota     note_studenti.nota%TYPE;
  v_ob       obiecte.den%TYPE;
BEGIN 
  OPEN my_curs;
  LOOP 
    FETCH my_curs INTO v_nume, v_prenume, v_an, v_nota, v_ob;
    EXIT WHEN my_curs%NOTFOUND;
    DBMS_OUTPUT.PUT_LINE( v_nume || ' '   || v_prenume ||
                        ' este in anul '  || v_an      ||
                        ' si a luat nota '|| v_nota    || 
                        ' la obiectul '   || v_ob);
  END LOOP;
END;

【问题讨论】:

  • 如果你使用SQL*Developer,你可以试试View->Show DBMS Output,它会弹出一个窗口打印,那里有信息。
  • 我已经这样做了。我的 SQL Developer 主窗口底部有 DBMS 输出窗口,但运行程序时不打印任何内容。
  • 那么,您的查询没有返回任何内容?可以试试单独运行吗?
  • 另外,在 dbms 窗口中,会有一个加号,单击并选择您运行的数据库!
  • 你怎么知道你应该得到什么结果?在 BEGIN 之后尝试 dbms_output.put_line('Beginning') 你应该会看到这个输出(一旦整个脚本完成)

标签: sql oracle plsql dbms-output


【解决方案1】:

只是为了确保......游标查询是否获取任何数据?如果没有数据,DBMS_Output 不会输出任何东西!

【讨论】:

    【解决方案2】:

    我也在使用 SQL 开发人员,我也遇到了同样的问题,但它在 Web 浏览器的 SQL 工作坊中运行良好。那就试试吧。

    【讨论】:

      猜你喜欢
      • 2019-09-19
      • 2019-07-29
      • 2018-07-08
      • 2015-02-24
      • 2013-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多