상태 레코드 시퀀스

두 개 이상의 상태 레코드가 반환되면 드라이버 관리자와 드라이버는 다음 규칙에 따라 순위를 지정합니다. 순위가 가장 높은 레코드는 첫 번째 레코드입니다. 레코드의 원본(드라이버 관리자, 드라이버, 게이트웨이 등)은 레코드 순위 지정 시 고려되지 않습니다.

  • 오류를 설명하는 오류 상태 레코드의 순위가 가장 높습니다. 오류 레코드 중 트랜잭션 실패 또는 가능한 트랜잭션 실패를 나타내는 레코드가 다른 모든 레코드를 능가합니다. 두 개 이상의 레코드가 동일한 오류 조건을 설명하는 경우 Open Group CLI 사양(클래스 03~HZ)에 의해 정의된 SQLSTATE는 ODBC 정의 및 드라이버 정의 SQLSTATE보다 높습니다.

  • 드라이버 정의 No Data 값(클래스 02)을 설명하는 구현 정의 No Data Values Status 레코드에는 두 번째로 높은 순위가 있습니다.

  • 경고를 설명하는 경고 상태 레코드(클래스 01)의 순위가 가장 낮습니다. 두 개 이상의 레코드가 동일한 경고 조건을 설명하는 경우 Open Group CLI 사양으로 정의된 경고 SQLSTATE는 ODBC 정의 및 드라이버 정의 SQLSTATE보다 높습니다.

순위가 가장 높은 레코드가 두 개 이상 있는 경우 첫 번째 레코드인 레코드는 정의되지 않습니다. 다른 모든 레코드의 순서가 정의되지 않았습니다. 특히 오류가 발생하기 전에 경고가 나타날 수 있으므로 함수가 SQL_SUCCESS 이외의 값을 반환할 때 애플리케이션은 모든 상태 레코드를 검사 합니다.