Sequenza di record di stato

Se vengono restituiti due o più record di stato, Gestione driver e il driver li classificano in base alle regole seguenti. Il record con il rango più elevato è il primo record. L'origine di un record (Gestione driver, driver, gateway e così via) non viene considerata quando si assegnano priorità ai record.

  • I record di stato Errori che descrivono gli errori hanno il rango più elevato. Tra i record di errore, quelli che indicano un errore di transazione o un possibile errore di transazione hanno priorità su tutti gli altri record. Se due o più record descrivono la stessa condizione di errore, gli SQLSTATE definiti dalla specifica Open Group CLI (classi da 03 a HZ) hanno priorità sugli SQLSTATE definiti dal driver e da ODBC.

  • I record di stato Valori senza dati definiti dall'implementazione che descrivono i valori senza dati definiti dal driver (classe 02) hanno il secondo rango più elevato.

  • I record di stato Avvisi che descrivono gli avvisi (classe 01) hanno il rango più basso. Se due o più record descrivono la stessa condizione di avviso, gli SQLSTATE di avviso definiti dalla specifica Open Group CLI hanno priorità sugli SQLSTATE definiti dal driver e da ODBC.

Se sono presenti due o più record con il rango più elevato, non è definito quale sia il primo record. L'ordine di tutti gli altri record non è definito. In particolare, poiché gli avvisi potrebbero essere visualizzati prima degli errori, le applicazioni devono controllare tutti i record di stato quando una funzione restituisce un valore diverso da SQL_SUCCESS.