如何在SQL Developer中的PLSQL错误后抑制脚本显示(禁用命令/代码输出)

如何在SQL Developer中的PLSQL错误后抑制脚本显示(禁用命令/代码输出),plsql,error-handling,oracle-sqldeveloper,Plsql,Error Handling,Oracle Sqldeveloper,当我运行带有错误的PLSQL块时,SQLDeveloper会在给出错误详细信息之前重复/复制整个脚本。这是非常可怕的,因为我需要很长的脚本,每次出错后我都会向下滚动 我需要找到一种方法来禁用将整个脚本写入脚本控制台。我检查了首选项和帮助,但没有发现任何相关内容 Error starting at line : 1 in command - BEGIN xx; END**; Error report - ORA-06550: line 2, column 5: PLS-00201: i

当我运行带有错误的PLSQL块时,SQLDeveloper会在给出错误详细信息之前重复/复制整个脚本。这是非常可怕的,因为我需要很长的脚本,每次出错后我都会向下滚动

我需要找到一种方法来禁用将整个脚本写入脚本控制台。我检查了首选项和帮助,但没有发现任何相关内容

Error starting at line : 1 in command -
BEGIN  
    xx;
END**;
Error report -
ORA-06550: line 2, column 5:
PLS-00201: identifier 'XX' must be declared
ORA-06550: line 2, column 5:
PL/SQL: Statement ignored
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:

我还可以确认sqlplus没有这样做-它只显示包含错误的单行。

我想,您没有清楚地理解我的评论。 我建议你这样做:

BEGIN
    ...

    EXCEPTION
        WHEN OTHERS THEN
            DBMS_OUTPUT.PUT_LINE('Call stack:');
            DBMS_OUTPUT.PUT_LINE(DBMS_UTILITY.FORMAT_CALL_STACK);
            DBMS_OUTPUT.PUT_LINE(CHR(10)||'Error stack:');
            DBMS_OUTPUT.PUT_LINE(DBMS_UTILITY.FORMAT_ERROR_STACK);
            DBMS_OUTPUT.PUT_LINE(CHR(10)||'Error backtrace:');
            DBMS_OUTPUT.PUT_LINE(DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
END;
/

我猜,你不明白我的评论。 我建议你这样做:

BEGIN
    ...

    EXCEPTION
        WHEN OTHERS THEN
            DBMS_OUTPUT.PUT_LINE('Call stack:');
            DBMS_OUTPUT.PUT_LINE(DBMS_UTILITY.FORMAT_CALL_STACK);
            DBMS_OUTPUT.PUT_LINE(CHR(10)||'Error stack:');
            DBMS_OUTPUT.PUT_LINE(DBMS_UTILITY.FORMAT_ERROR_STACK);
            DBMS_OUTPUT.PUT_LINE(CHR(10)||'Error backtrace:');
            DBMS_OUTPUT.PUT_LINE(DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
END;
/

不知道这是否可能,但您始终可以使用
DBMS\u实用工具
函数(如
FORMAT\u CALL\u STACK
)捕获异常并仅打印错误消息,
FORMAT\u ERROR\u STACK
FORMAT\u ERROR\u BACKTRACE
。不幸的是,这对PLSQL中的语法仍然没有帮助,这是在较长时间暂停后编写新代码时最常见的情况。将尝试不同的UI工具。不知道是否可能,但您始终可以使用
DBMS\u实用工具
函数(如
FORMAT\u CALL\u STACK
)捕获异常并仅打印错误消息,
FORMAT\u ERROR\u STACK
FORMAT\u ERROR\u BACKTRACE
。不幸的是,这对PLSQL中的语法仍然没有帮助,这是在较长时间暂停后编写新代码时最常见的情况。将尝试不同的UI工具。这对PLSQL脚本中BEGIN和EXCEPTION之间的语法错误有何帮助?这是一种解决方法-
如何在SQL Developer中出现PLSQL错误后抑制脚本显示(禁用命令/代码输出)
,这-
我需要找到一种方法来禁止将整个脚本写入脚本控制台。我检查了首选项和帮助,但没有发现任何相关信息。
这不是你要找的吗?是的,我一直在找这个,但捕获异常只对异常有帮助,而不是捕获PLSQL中的语法错误(这是我问这个问题的主要原因-PLSQL的交互式编写)。在问这个问题之前,我搜索了所有的偏好。这似乎是SQLDeveloper中的一个缺陷(因为Sqlplus没有做到这一点)。最好的解决方法似乎就是在运行脚本之前,语法高亮显示并修复指示的错误。不太好,但至少有点。哦,看来我当时没听到你的声音。若涉及到语法错误,我认为在SQLDeveloper中并没有任何方法可以改变它。但事实上,打印出整个scrpit对我来说从来都不是问题,即使它有2-3k行。那么你的不适阈值一定要高一点:)重复整个脚本服务器除了产生噪音之外完全没有其他目的,并且会使查找实际错误消息更耗时。这对PLSQL脚本中BEGIN和EXCEPTION之间的语法错误有什么帮助?这是一种解决方法-
如何在SQL Developer中的PLSQL错误后抑制脚本显示(禁用命令/代码输出)
,这-
我需要找到一种方法来禁用将整个脚本写入脚本控制台。我检查了首选项和帮助,但没有发现任何相关信息。
这不是你要找的吗?是的,我一直在找这个,但捕获异常只对异常有帮助,而不是捕获PLSQL中的语法错误(这是我问这个问题的主要原因-PLSQL的交互式编写)。在问这个问题之前,我搜索了所有的偏好。这似乎是SQLDeveloper中的一个缺陷(因为Sqlplus没有做到这一点)。最好的解决方法似乎就是在运行脚本之前,语法高亮显示并修复指示的错误。不太好,但至少有点。哦,看来我当时没听到你的声音。若涉及到语法错误,我认为在SQLDeveloper中并没有任何方法可以改变它。但事实上,打印出整个scrpit对我来说从来都不是问题,即使它有2-3k行。那么你的不适阈值一定要高一点:)重复整个脚本服务器除了产生噪音之外完全没有其他目的,并且会使查找实际错误消息更耗时。叹息