Sequência de registros de status

Se dois ou mais registros de status forem retornados, o Gerenciador de Driver e o driver os classificarão de acordo com as regras a seguir. O registro com a classificação mais alta será o primeiro. A origem de um registro (Gerenciador de Driver, driver, gateway e assim por diante) não é considerada ao classificar registros.

  • Os registros com o status de Erros que descrevem erros têm a classificação mais alta. Entre os registros de erro, os registros que indicam uma falha de transação ou possível falha de transação superam todos os outros registros. Se dois ou mais registros descreverem a mesma condição de erro, os SQLSTATEs definidos pela especificação da CLI do Open Group (classes 03 a HZ) superarão os SQLSTATEs definidos pelo ODBC e pelo driver.

  • Os registros com o status de valores Sem dados definidos pela implementação que descrevem os valores Sem Dados definidos pelo driver (classe 02) têm a segunda classificação mais alta.

  • Avisos Os registros de status que descrevem avisos (classe 01) têm a classificação mais baixa. Se dois ou mais registros descreverem a mesma condição de aviso, os SQLSTATEs de aviso definidos pela especificação da CLI do Open Group superarão os SQLSTATEs definidos pelo ODBC e pelo driver.

Se houver dois ou mais registros com a classificação mais alta, será indefinido qual registro é o primeiro. A ordem de todos os outros registros é indefinida. Em particular, como os avisos podem aparecer antes dos erros, os aplicativos devem verificar todos os registros de status quando uma função retorna um valor diferente de SQL_SUCCESS.