【问题标题】:PL/SQL Alias for DBMS_OUTPUT.PUT_LINE()?DBMS_OUTPUT.PUT_LINE() 的 PL/SQL 别名?
【发布时间】:2011-08-25 11:23:15
【问题描述】:

简单的问题,是否可以在问题标题中为输出函数提供别名,以便我可以调用类似 trace('hello') 而不是 DBMS_OUTPUT.PUT_LINE('hello') 之类的东西?

我喜欢这个,因为我使用输出来帮助调试,而且我厌倦了输入整个函数名称和/或一直复制和粘贴它。

感谢您的宝贵时间。

【问题讨论】:

    标签: oracle plsql alias dbms-output


    【解决方案1】:

    只需创建一个过程来包装调用:

    create or replace procedure trace(v_message in VARCHAR2)
    as
    begin
        dbms_output.put_line(v_message);
    end;
    

    用法:

    SQL> begin
      2  trace('hello');
      3  end
      4  ;
      5  /
    
    PL/SQL procedure successfully completed.
    
    SQL> set serverout on size 1000000
    SQL> /
    hello
    
    PL/SQL procedure successfully completed.
    

    【讨论】:

    • +1。我经常在 PL/SQL 块的DECLARE 部分中直接定义一个类似的过程(当我不想创建模式级过程的麻烦时)。
    • 另一个好处是您可以在过程中放置​​一条 INSERT 语句来将消息写入日志表。
    【解决方案2】:

    使用宏为您键入。

    我正在使用 PLSQL Developer,只要我想要 dbms_output.put_line,我就输入 ctrl-D。这样我就不必依赖名称较短的函数的存在。无论我在做什么,它都能正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-07
      • 2020-06-06
      • 2015-03-26
      • 1970-01-01
      • 2014-09-30
      相关资源
      最近更新 更多