錯誤和批次

當執行一批 SQL 語句時發生錯誤,可能會出現以下四種結果之一。 (每種可能的結果都依資料來源而異,甚至可能依賴批次中包含的陳述。)

  • 批次中沒有任何陳述句被執行。

  • 在批次中沒有任何語句被執行,交易被回滾。

  • 錯誤陳述式之前的所有語句都會被執行。

  • 除了錯誤陳述式外,所有語句都會被執行。

在前兩種情況下, SQLExecuteSQLExecDirect 會回傳 SQL_ERROR。 在後兩種情況下,根據實作方式,可能會返回SQL_SUCCESS_WITH_INFO或SQL_SUCCESS。 在所有情況下,都可以使用 SQLGetDiagFieldSQLGetDiagRecSQLError 取得更多錯誤資訊。 然而,這些資訊的性質與深度取決於資料來源。 此外,這些資訊不太可能準確指出錯誤陳述。