私は過去に多くの pro*c を書いてきましたが、PREPARE ステートメントは値を返さないため、リターン コードをチェックしたくないことに気づきました。これが私が言いたいことです:
PREPARE sqlca.sqlcode 値は、PREPARE ステートメントの直前に実行されたステートメントの戻りコードです。つまり、PREPARE ステートメントの出力と、PREPARE ステートメントが失敗する直前に実行されたステートメントを確認すると、準備の戻りコードは失敗しています。前のステートメントが成功した場合、PREPARE は成功したように見えます。
つまり、prepare sqlca.sqlcode の値は基本的に何もありません (それ自体で失敗することはありません)。したがって、PREPARE が失敗している場合は、PREPARE ステートメントの直前に実行されたステートメントをチェックし、そのステートメントの sqlca.sqlcode 値をチェックしていることを確認してください。私の推測では、前のステートメントは失敗しており、返されたエラーはそのステートメントに関連しています。理にかなっていますか?
-ジム