エラーおよびバッチ
SQL ステートメントのバッチ実行中にエラーが発生した場合、以下の4つの結果のいずれかが考えられます。 (可能性のある結果はそれぞれデータソース固有であり、バッチに含まれるステートメントに依存する場合もある。)
バッチ内のステートメントは実行されません。
バッチ内のステートメントは実行されておらず、トランザクションはロールバックされます。
エラー ステートメントが実行される前のすべてのステートメント。
エラー ステートメントを除くすべてのステートメントが実行されます。
最初の 2 つのケースでは、 SQLExecute と SQLExecDirect がSQL_ERRORを返します。 後者の 2 つのケースでは、実装によっては、SQL_SUCCESS_WITH_INFOまたはSQL_SUCCESSが返されることがあります。 いずれの場合も、SQLGetDiagField、SQLGetDiagRec、または SQLError を使用して、さらにエラー情報を取得できます。 しかし、この情報の性質と深さはデータソースによって異なります。 さらに、この情報は、エラーのステートメントを正確に識別する可能性は低いです。