PL SQL 输出未显示
Posted
技术标签:
【中文标题】PL SQL 输出未显示【英文标题】:PL SQL output is not getting displayed 【发布时间】:2013-05-05 23:09:56 【问题描述】:我有相当简单的代码..在 Oracle Virtualbox 中运行。但是由于某种原因,它没有显示 pl/sql 输出。
这里是代码sn-p
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 提示符下看到输出,我需要做些什么特别的事情吗?
【问题讨论】:
【参考方案1】:您必须实际运行该过程,而不仅仅是创建它,例如:
set serverputput on
exec mytz;
set serveroutput
SQL*Plus 命令必须在执行过程的会话中,而不是在创建它的地方(如果它们不同)。
您目前没有显示变量的值;也许你想要这个?
dbms_output.put_line('Default timestamp is: ' || v_mytz);
【讨论】:
谢谢。就是这样。 ps:我故意没有添加v_mytz。现在我也从这个和其他过程中得到输出。 @Vishal - 我还应该指出您正在使用隐式格式模型进行转换。您应该使用to_timestamp
进行分配,使用to_char
进行显示,使用显式format models;否则它将表现不同,并可能在具有不同 NLS 设置的会话中出错。以上是关于PL SQL 输出未显示的主要内容,如果未能解决你的问题,请参考以下文章
如何在匿名 PL/SQL 块中自动显示所有 SQL 语句的输出