在 PL/SQL Developer 中打印变量

Posted

技术标签:

【中文标题】在 PL/SQL Developer 中打印变量【英文标题】:print variables in PL/SQL Developer 【发布时间】:2018-07-09 04:49:01 【问题描述】:

这里是新手。我正在尝试在过程中打印一个变量。该过程可以成功运行,但我看不到输出。我的代码如下:

Declare 
  v_test varchar(15) := 'hi, everyone';
Begin
  dbms_output.put_line(v_test);
  dbms_output.put_line('hello world');
END;

请注意我使用的是 PL/SQL Developer 而不是 SQL Developer。所以SET SERVEROUTPUT ON 和“DBMS 输出窗口(查看-> DBMS 输出)...”在我的情况下都不起作用。 提前谢谢!

【问题讨论】:

我在您的代码中看不到任何问题。它也应该运行。再次尝试重新连接会话并运行您的代码。 您使用的是什么窗口类型? Oracle > 输出 > 启用的全局首选项设置是什么? 另外,这是一个块而不是一个过程。 @WilliamRobertson 是的,我找到了真正的问题。请在下面查看我的评论。感谢您的帮助! 【参考方案1】:

尝试运行以下代码:

 Declare 
    v_test varchar(15);
 Begin
    v_test := 'hi,everyone';
    dbms_output.put_line(v_test);
    dbms_output.put_line('hello world');
 END;

【讨论】:

您刚刚将'hi,everyone' 的赋值从声明部分移至代码主体。我看不出这将如何影响输出。 @WilliamRobertson 检查 PL/SQL 中变量的范围,在 PL/SQL 开发人员中调用上述过程时,如果在声明部分初始化变量,引擎找不到变量的值。 不是 PL/SQL Developer '找到'变量或将其传递给 dbms_output,因为整个块由服务器处理。并且该变量肯定在范围内。 OP的版本无论如何都可以正常工作。 PL/SQL Developer 中没有这样的错误,我不知道怎么会有。 我再次检查了我的脚本。实际问题是输出窗口被意外隐藏了。上面的代码和我之前的代码运行良好。我是 PL/SQL Developer 的新手,我为自己的粗心道歉。为避免误导任何其他用户,我取消了接受的解决方案。但是,非常感谢大家! 这是一个输出选项卡,而不是一个窗口,所以我不确定它是如何隐藏的。

以上是关于在 PL/SQL Developer 中打印变量的主要内容,如果未能解决你的问题,请参考以下文章

用PL/SQL Developer导出表数据的时候,窗口一闪而过解决办法

pl sql developer怎么执行sql

Others-PL/SQL Developer自动替换语句(自动打印select*from语句)

Win11处理PL/Sql Developer中文乱码

pl sql developer登陆界面找不到oracle数据库选项 怎么办

pl sql developer登陆界面找不到oracle数据库选项 怎么办