代码之家  ›  专栏  ›  技术社区  ›  thursdaysgeek

在Oracle SQL Developer SQL工作表窗口中打印文本

  •  77
  • thursdaysgeek  · 技术社区  · 16 年前

    我正在使用OracleSQL(在SQLDeveloper中,使用SQL工作表)。我想在选择之前打印一个语句,例如

    PRINT 'Querying Table1';
    SELECT * from Table1;
    

    如何打印/显示文本输出?它不是print,因为它给了我一个错误:bind变量 Table1 未声明。dbms_output.put_line是一个未知命令。(显然,我是一个缺乏经验的SQLDeveloper和Oracle用户。肯定有打印的同义词,但我在不知道打印是什么的情况下很难找到帮助。)

    7 回复  |  直到 6 年前
        1
  •  128
  •   Community CDub    12 年前

    enter image description here

    对于简单注释:

    set serveroutput on format wrapped;
    begin
        DBMS_OUTPUT.put_line('simple comment');
    end;
    /
    
    -- do something
    
    begin
        DBMS_OUTPUT.put_line('second simple comment');
    end;
    /
    

    你应该得到:

    anonymous block completed
    simple comment
    
    anonymous block completed
    second simple comment
    

    如果要打印出变量的结果,下面是另一个示例:

    set serveroutput on format wrapped;
    declare
    a_comment VARCHAR2(200) :='first comment';
    begin
        DBMS_OUTPUT.put_line(a_comment);
    end;
    
    /
    
    -- do something
    
    
    declare
    a_comment VARCHAR2(200) :='comment';
    begin
        DBMS_OUTPUT.put_line(a_comment || 2);
    end;
    

    您的输出应该是:

    anonymous block completed
    first comment
    
    anonymous block completed
    comment2
    
        2
  •  35
  •   H77    7 年前
    PROMPT text to print
    

    注: 必须使用 运行方式脚本(F5) 不 RUN语句(ctl+enter)

        3
  •  20
  •   Eddie Awad    16 年前

    你可以 set echo 对:

    set echo on
    REM Querying table
    select * from dual;
    

    在sqldeveloper中,按F5作为脚本运行。

        4
  •  12
  •   Leigh Riffel    16 年前

    您可以将文本放入select语句中,例如…

    SELECT 'Querying Table1' FROM dual;
    
        5
  •  7
  •   Michael Erickson    14 年前

    对我来说,我只能让它和

    set serveroutput on format word_wrapped;
    

    wrapped和wrapped只是抛出错误:sqlplus命令失败-参数不足

        6
  •  1
  •   Frank Staheli    10 年前

    如果您不希望所有的SQL语句都被回送,但您只希望看到脚本的易于识别的结果,请这样做:

    设置回声

    REM我的第一个表格

    设置回音

    从MyFirstTable中删除;

    设置回声

    REM我的第二个表

    设置回音

    从mysecondTable中删除;

    上述示例的输出如下所示:

    -REM我的第一个表格

    删除了13行。

    -REM我的第二个表

    删除27行。

        7
  •  0
  •   ΩmegaMan    6 年前

    主要答案遗漏了新安装的一个步骤,即必须打开DBMS输出窗口。

    enter image description here

    然后我使用的脚本:

    dbms_output.put_line('Start');
    

    另一个剧本:

    set serveroutput on format wrapped;
    begin
        DBMS_OUTPUT.put_line('jabberwocky');
    end;