狀態記錄的順序
如果傳回兩個或多個狀態記錄,驅動程式管理員和驅動程式會根據下列規則來設定其順位。 順位最高的記錄是第一筆記錄。 記錄的來源 (驅動程式管理員、驅動程式、閘道等) 不會在設定記錄順位時考慮。
錯誤 描述錯誤的狀態記錄具有最高的順位。 在錯誤記錄中,指出交易失敗或潛在交易失敗的記錄順位,會比其他的所有記錄要高。 如果兩個或多個記錄描述相同的錯誤狀況,則 Open Group CLI 規格所定義的 SQLSTATE (類別 03 到 HZ),順位會比 ODBC 定義的 SQLSTATE 和驅動程式定義的 SQLSTATE 要高。
實作定義的無資料值 描述驅動程式定義的「無資料」值 (類別 02) 的狀態記錄具有第二高順位。
警告 描述警告 (類別 01) 的狀態記錄順位最低。 如果兩個或多個記錄描述相同的警告狀況,則 Open Group CLI 規格所定義的警告 SQLSTATE,順位會比 ODBC 定義的 SQLSTATE 和驅動程式定義的 SQLSTATE 要高。
如果有兩筆以上的記錄具有最高順位,則未定義哪一筆記錄是第一筆記錄。 所有其他記錄的順序都未定義。 特別是,由於警告可能會在錯誤之前出現,因此當函式傳回 SQL_SUCCESS 以外的值時,應用程式應會檢查所有狀態記錄。