简单的问题是否可以在问题标题中给出输出函数的别名,以便我可以调用trace('hello')而不是DBMS_OUTPUT.PUT_LINE('hello')?DBMS_OUTPUT.PUT_LINE()的PL/SQL别名?
我想这样做是因为我使用输出来帮助调试,我厌倦了输入整个函数名称和/或始终复制并粘贴它。
谢谢你的时间。
简单的问题是否可以在问题标题中给出输出函数的别名,以便我可以调用trace('hello')而不是DBMS_OUTPUT.PUT_LINE('hello')?DBMS_OUTPUT.PUT_LINE()的PL/SQL别名?
我想这样做是因为我使用输出来帮助调试,我厌倦了输入整个函数名称和/或始终复制并粘贴它。
谢谢你的时间。
只需创建一个程序包呼叫:
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.
使用宏来键入你。
我正在使用PLSQL Developer并且每当我想要时dbms_output.put_line我键入ctrl-D。这样我就不必依赖名称较短的函数的存在。它只适用于我正在工作的任何东西。
非常感谢。我不知道为什么我没有想到这一点! – Griffin 2011-05-14 11:49:48
+1。我经常在PL/SQL块的'DECLARE'部分直接定义一个类似于这个的过程(当我不想要创建一个模式级过程时)。 – 2011-05-14 12:39:56
另一个好处是,您可以在过程中放置INSERT语句,以将消息写入日志表。 – Datajam 2011-05-14 12:52:07