Share via


錯誤和批次

當執行批次 SQL 陳述式發生錯誤時,可能會出現下列四種結果之一。 (每個可能的結果都是資料來源所特有,甚至可能取決於批次中所包含的陳述式。)

  • 未執行批次中的任何陳述式。

  • 未執行批次中的任何陳述式,且交易遭到復原。

  • 執行錯誤陳述式之前的所有陳述式。

  • 執行錯誤陳述式之外的所有陳述式。

在前兩種情況下,SQLExecuteSQLExecDirect 會傳回 SQL_ERROR。 在後兩種情況下,它們可能會根據實作傳回 SQL_SUCCESS_WITH_INFO或SQL_SUCCESS。 在所有情況中,都可使用 SQLGetDiagFieldSQLGetDiagRecSQLError 來擷取進一步的錯誤資訊。 不過,此資訊的本質與深度是依資料來源而定。 此外,此資訊不太可能準確識別錯誤的陳述式。