Oracle DB 用に Pro*C (バージョン: 11.2.0.3.0) が組み込まれた C++ コードを使用しています。以下のように一括挿入句を実行しています。
insert int TBL1 (col1, col2)
select a.col1, b.col2 from TBL2 a, TBL3 b
where a.col1 = :v and a.col2 = b.col2
挿入する一連のレコードに対してこのクエリを実行し、その場で値をバインドします:v
。
ただし、一部のレコードは挿入できましたが、一部は失敗しました
ORA-01403: no data found
からsqlca.sqlerrd[2]
、挿入できる行数がわかります。したがって、M out N レコードを挿入できることがわかります。ここで、どのレコードが失敗したかを知りたいので、a.col1
この失敗の原因となった可能性のあるすべての値のリストの手がかりが必要です。抜け道はありますか?手がかりや方向性は非常に役立ちます。