【问题标题】:plsql show queryplsql 显示查询
【发布时间】:2012-06-12 20:47:26
【问题描述】:

我在使用 oracle pl sql 时遇到了一个小问题。 我有一个带有一些光标等的 sql 文件,处理失败但没有详细信息。 我对这个问题有一个想法(一个带参数的函数),但我想查看每个调用的参数,以便能够调试,确切地看到参数失败。 这是消息:

DECLARE
*
ERROR at line 1:
ORA-01422: exact fetch returns more than requested number of rows
ORA-06512: at line 165
ORA-06512: at line 260

有什么设置可以看到一些细节吗?

我正在像这样开始我的治疗

sqlplus -L $ORA_CONNECT @$FIC_REQ 

【问题讨论】:

    标签: oracle plsql


    【解决方案1】:

    当您尝试Select Into 变量时会发生此错误,但您的选择返回多行。

    检查脚本中的这些行:
    165260(如错误堆栈跟踪中所示)。


    要输出您的参数dbms_output 应该可以工作。测试以下脚本:

    Set Serveroutput On
    
    Begin
      dbms_output.put_line('Test');
    End;
    /
    

    【讨论】:

    • 正如我所说,我对错误有所了解,但我需要查看函数的参数。
    • 我尝试使用 dbms_output.put_line 但它没有显示任何内容。一开始我已经将 serveroutput 设置为 ON;
    • 这表明您还没有达到您进行调试的程度,因此您可以在调用之前和更早的位置调用put_line。此外,当从 SQL*Plus 运行时,错误中报告的行号在 PL/SQL 代码中,而不是 SQL 文件本身的行号,因此您需要查看 declare 之后的 165 和 260 行。
    • 好的,我明白了,使用dbms_output.put_line,我可以看到输出了。谢谢大家。
    • 不客气。当您发表评论时,我刚刚编辑了我的问题以解释 dbms_output :)
    猜你喜欢
    • 2015-06-23
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多