Debugging SQL开发人员错误报告--错误的行号

Debugging SQL开发人员错误报告--错误的行号,debugging,oracle-sqldeveloper,Debugging,Oracle Sqldeveloper,我的任务是编写和测试几个小型PL/SQL脚本。这远远超出了我的核心能力,但我可以通过充分的尝试和错误来做到这一点。使这个过程复杂化的一件事是SQ LDeveloper的错误报告。它以行号和列号输出问题的简短描述,但行号与错误的实际位置无关。也就是说,我可能在脚本的第52行使用了=而不是:=进行赋值,但是脚本输出窗口中的错误表明第37行中存在问题。这是一个典型的问题吗?是否有办法将报告的行号转换为实际行号 我使用的是SQL Developer 1.5.5。我知道你的意思。我每天都会遇到这个问题。我

我的任务是编写和测试几个小型PL/SQL脚本。这远远超出了我的核心能力,但我可以通过充分的尝试和错误来做到这一点。使这个过程复杂化的一件事是SQ LDeveloper的错误报告。它以行号和列号输出问题的简短描述,但行号与错误的实际位置无关。也就是说,我可能在脚本的第52行使用了=而不是:=进行赋值,但是脚本输出窗口中的错误表明第37行中存在问题。这是一个典型的问题吗?是否有办法将报告的行号转换为实际行号


我使用的是SQL Developer 1.5.5。

我知道你的意思。我每天都会遇到这个问题。我还没有完全弄清楚确切的解决方案,但这似乎与编译器如何处理注释有关。我只是用一个查询在我的机器上做了一个测试,在这个查询中我在一个特定的行上插入了一个错误。第#行的错误按预期关闭。从SQL中删除注释行后,错误对应于行#

编辑:添加测试用例以响应Ian Carpenter

select column1
       ,column2
--       ,column3
       ,column4
from table1
where 1=1
and column1 = '00000000';
运行,然后更改为:

select column1
       ,column2
--       ,column3
       ,column4a
from table1
where 1=1
and column1 = '00000000';
运行并获取以下错误:

ORA-00904: "COLUMN4A": invalid identifier
00904. 00000 -  "%s: invalid identifier"
*Cause:    
*Action:
Error at Line: 3 Column: 11

我看到了问题所在,如果您将其作为脚本(F5)运行,我相信它会报告正确的行吗?然而,快速浏览一下SQL开发者Oracle技术网络论坛,就会发现许多问题,其中行号不正确reported@IanCarpenter啊。谢谢你的提示。我没想到要尝试按脚本运行。嗯,这可能与F9如何将SQL发送到数据库有关。IIRC语句像SQLPlus命令一样提交。脚本可以像PL/SQL块语句一样编译和发送?不管怎样,我只是在猜。与运行脚本相比,我必须阅读更多的运行语句。哦,很抱歉早些时候拼错了你的名字。我已经更正了我的答案。