エラーおよびバッチ

SQL ステートメントのバッチ実行中にエラーが発生した場合、以下の4つの結果のいずれかが考えられます。 (可能性のある結果はそれぞれデータソース固有であり、バッチに含まれるステートメントに依存する場合もある。)

  • バッチ内のステートメントは実行されません。

  • バッチ内のステートメントは実行されておらず、トランザクションはロールバックされます。

  • エラー ステートメントが実行される前のすべてのステートメント。

  • エラー ステートメントを除くすべてのステートメントが実行されます。

最初の 2 つのケースでは、 SQLExecuteSQLExecDirect がSQL_ERRORを返します。 後者の 2 つのケースでは、実装によっては、SQL_SUCCESS_WITH_INFOまたはSQL_SUCCESSが返されることがあります。 いずれの場合も、SQLGetDiagFieldSQLGetDiagRec、または SQLError を使用して、さらにエラー情報を取得できます。 しかし、この情報の性質と深さはデータソースによって異なります。 さらに、この情報は、エラーのステートメントを正確に識別する可能性は低いです。