SQL Developer错误报告 - 错误的行号

时间:2012-06-07 21:03:27

标签: debugging oracle-sqldeveloper

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

我正在使用SQL Developer 1.5.5。

1 个答案:

答案 0 :(得分:3)

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

编辑:添加测试用例以响应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