我有一个存储过程并且已经放了一些调试消息,比如
call dbms_output.put ('calling clean up on <tableName>');
在调用程序时,我没有看到这一行。我正在使用Aqua数据工作室来完成我的工作。在调用SP
时我也做了以下操作在@上设置serveroutput并在
上设置serveroutput但是得到的错误就像
An unexpected token "on@" was found following "set serveroutput ". Expected tokens may include: "="
请问您如何查看我在SP中作为日志记录的语句?我正在使用“AquaData Studio - 7.0.39”
答案 0 :(得分:0)
set serveroutput
不是SQL语句,因此除了IBM DB2命令行处理器之外,对Aqua Data Studio或任何其他工具没有任何意义。
dbms_output.put
所做的是将行存储在dbms_output
模块的内部数组中。 DB2工具访问该数组并在执行存储过程后将其内容打印到屏幕。
您可以通过在存储过程中创建异常处理程序来模拟Aqua Data Studio中的相同行为,其中使用dbms_output.get_lines
返回行数组,然后使用{{1}从该数组构建游标并将光标返回给调用应用程序(Aqua)。
可能更容易创建自己的日志存储过程,运行自治事务,将日志记录插入到数据库表中,您可以在必要时进行查询。