【问题标题】:PL SQL output is not getting displayedPL SQL 输出未显示
【发布时间】: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 提示符下看到输出,我需要做些什么特别的事情吗?

【问题讨论】:

    标签: oracle plsql


    【解决方案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 设置的会话中出错。
    猜你喜欢
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 2018-07-08
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    • 2019-09-16
    相关资源
    最近更新 更多