當執行一批 SQL 語句時發生錯誤,可能會出現以下四種結果之一。 (每種可能的結果都依資料來源而異,甚至可能依賴批次中包含的陳述。)
批次中沒有任何陳述句被執行。
在批次中沒有任何語句被執行,交易被回滾。
錯誤陳述式之前的所有語句都會被執行。
除了錯誤陳述式外,所有語句都會被執行。
在前兩種情況下, SQLExecute 和 SQLExecDirect 會回傳 SQL_ERROR。 在後兩種情況下,根據實作方式,可能會返回SQL_SUCCESS_WITH_INFO或SQL_SUCCESS。 在所有情況下,都可以使用 SQLGetDiagField、 SQLGetDiagRec 或 SQLError 取得更多錯誤資訊。 然而,這些資訊的性質與深度取決於資料來源。 此外,這些資訊不太可能準確指出錯誤陳述。