Oracle 未显示PL SQL输出
我有相当简单的代码..在Oracle Virtualbox中运行。但是由于某些原因,它没有显示pl/sql输出 下面是代码片段Oracle 未显示PL SQL输出,oracle,plsql,Oracle,Plsql,我有相当简单的代码..在Oracle Virtualbox中运行。但是由于某些原因,它没有显示pl/sql输出 下面是代码片段 SQL> set serveroutput on SQL> list 1 Create or Replace procedure mytz 2 IS 3 v_mytz TIMESTAMP WITH TIME ZONE DEFAULT '2013-05-05 12:00:00 AM'; 4
SQL> set serveroutput on
SQL> list
1 Create or Replace procedure mytz
2 IS
3 v_mytz TIMESTAMP WITH TIME ZONE DEFAULT '2013-05-05 12:00:00 AM';
4 BEGIN
5 DBMS_OUTPUT.PUT_LINE ('Default timestamp is ' );
6* end mytz ;
SQL> /
Procedure created.
SQL>
要在SQL提示符上查看输出,我需要做什么特别的事情吗?您必须实际运行该过程,而不仅仅是创建它,例如:
set serverputput on
exec mytz;
set serveroutput
SQL*Plus命令必须位于执行过程的会话中,而不是创建过程的会话中(如果它们不同)
您目前没有显示变量的值;也许你想要这个
dbms_output.put_line('Default timestamp is: ' || v_mytz);
非常感谢。就这样。ps:我故意没有添加v_mytz。现在我也从这个过程和其他过程中获得了输出。@Vishal-我还应该指出,您正在使用隐式格式模型进行转换。您应该使用explicit使用
to_timestamp
进行分配,使用to_char
进行显示;否则,它的行为将不同,并且可能在具有不同NLS设置的会话中出错。