查看来自oracle PL / SQL的变量值

时间:2008-10-31 19:43:58

标签: oracle plsql

我正在运行一个PL / SQL块,它应该调用一个存储过程,其输出参数应该填充PL / SQL块中的变量。

该过程编译,PL / SQL块成功运行。但我想检查过程填充的变量的值。有没有办法输出这些值?

如果有帮助,我正在使用Free TOAD。

谢谢,

4 个答案:

答案 0 :(得分:3)

您有几个选择:

  • 使用DBMS_OUTPUT登录
  • 使用UTL_FILE
  • 登录文件
  • 使用Oracle调试器DBMS_DEBUG

我的偏好是使用相当简单的自定义日志记录包登录到文件。在我的自定义日志记录包中,我有一个可配置的标志,用于在文件日志记录和DBMS_OUTPUT日志记录之间切换。

Oracle调试API非常好,但你肯定需要一个好的调试客户端。 Oracle SQL Developer对它有相当好的支持。

还有一个log4plsql记录器,但我还没有使用它。

答案 1 :(得分:2)

dbms_output.put_line(varHere);

答案 2 :(得分:0)

第四个选项(我通常默认使用的选项)也存在.....将调试消息记录到数据库表中。这使您能够根据需要对调试消息进行排序,查询和过滤。

正如上面提到的darreljnz,log4plsql也可能支持记录到数据库。我发现 1)dbms_output有太多限制 2)记录到文件需要设置太多,如果尚未设置utl_file_dir参数,则重新启动数据库 3)在没有GUI帮助的情况下使用dbms_debug非常麻烦(但我已经完成了)

答案 3 :(得分:0)

如果您可以在jDeveloper Home page下载Oracle jDeveloper VS Plugin或Oracle Visual Studio的副本。两者都是免费的,并允许您在db上的PL / SQL中调试(设置断点,检查变量,...)。您还需要在DB上执行“调试”权限才能执行此操作。但是,如果你有dba权利,你可以批准。