共用方式為


狀態記錄的順序

如果傳回兩個或多個狀態記錄,驅動程式管理員和驅動程式會根據下列規則來設定其順位。 順位最高的記錄是第一筆記錄。 記錄的來源 (驅動程式管理員、驅動程式、閘道等) 不會在設定記錄順位時考慮。

  • 錯誤 描述錯誤的狀態記錄具有最高的順位。 在錯誤記錄中,指出交易失敗或潛在交易失敗的記錄順位,會比其他的所有記錄要高。 如果兩個或多個記錄描述相同的錯誤狀況,則 Open Group CLI 規格所定義的 SQLSTATE (類別 03 到 HZ),順位會比 ODBC 定義的 SQLSTATE 和驅動程式定義的 SQLSTATE 要高。

  • 實作定義的無資料值 描述驅動程式定義的「無資料」值 (類別 02) 的狀態記錄具有第二高順位。

  • 警告 描述警告 (類別 01) 的狀態記錄順位最低。 如果兩個或多個記錄描述相同的警告狀況,則 Open Group CLI 規格所定義的警告 SQLSTATE,順位會比 ODBC 定義的 SQLSTATE 和驅動程式定義的 SQLSTATE 要高。

如果有兩筆以上的記錄具有最高順位,則未定義哪一筆記錄是第一筆記錄。 所有其他記錄的順序都未定義。 特別是,由於警告可能會在錯誤之前出現,因此當函式傳回 SQL_SUCCESS 以外的值時,應用程式應會檢查所有狀態記錄。