6

私はいくつかの小さな PL/SQL スクリプトの作成とテストを担当しています。それは私のコア・コンピテンシーの範囲を超えていますが、十分な試行錯誤を重ねることで実現できます。このプロセスを複雑にしているのは、SQ LDeveloper のエラー報告です。行番号と列番号で問題の簡単な説明を出力しますが、行番号は実際のエラーの場所とは関係ありません。つまり、スクリプトの 52 行目の割り当てに := の代わりに = を使用した可能性がありますが、[スクリプト出力] ウィンドウのエラーは 37 行目に問題があることを示しています。報告された行番号を実際の行番号に変換する方法はありますか?

SQL Developer 1.5.5 を使用しています。

4

1 に答える 1

4

あなたが言っていることがわかります。私は毎日この問題に遭遇します。私はまだ正確な解決策を完全には理解していませんが、コンパイラがコメントを処理する方法に関係があるようです。特定の行にエラーを挿入したクエリを使用して、自分のマシンでテストを行いました。行のエラー: # は期待どおりにオフでした。コメント行を 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
于 2012-06-08T19:12:47.693 に答える