如何在 Oracle SQL 查询中获取准确的错误行?

问题描述 投票:0回答:1

我正在使用 Oracle 数据库(SQL Developer 作为客户端)和长查询(其中大多数有 5k 到 10k 行,最长达到 60k 行)。

我的目标是,当在 SQL Developer 上运行查询时,我可以看到发生错误的确切行。 当前 SQL Developer/Oracle DB 显示错误类型(例如“缺少表达式”或“缺少右括号”) )但没有显示错误在哪里,迫使我分析查询的每一点。

有没有办法让数据库显示错误行或者我无能为力? (不,我无法减小查询的大小,因为它们来自外部源;我只需要确保它们工作并修复任何错误)。我也已经尝试过其他客户端(VSCode、Toad、DBeaver)。


示例: 运行以下查询:

SELECT
'Line 1' as column_1,
'Line 2' as column_2,
CASE WHEN 1= THEN ELSE NULL as column_3,
'Line 4' as column_4,
'Line 5' as column_5
FROM dual;

将正确显示错误所在(“行:4列:14错误”),但运行长查询时不会发生这种情况。如果你想测试更长的查询,我使用了this 5000行查询作为测试,它没有显示错误在哪里(剧透:第2507行)。

sql oracle oracle-sqldeveloper
1个回答
0
投票

好吧,我的 SQL Developer(右)以及 SQL*Plus(左)(与 Oracle 保持一致)显示错误点:

我相信你的工具也应该这样做。如果没有,您可以发布您自己的屏幕截图,以便我们不必猜测吗?

© www.soinside.com 2019 - 2024. All rights reserved.