状态记录序列

如果返回两个或多个状态记录,驱动程序管理器和驱动程序会根据以下规则对其进行排名。 排名最高的记录是第一条记录。 排名记录时,不会考虑记录的源(驱动程序管理器、驱动程序、网关等)。

  • 错误 描述错误的状态记录排名最高。 在错误记录中,指示事务失败或可能出现事务失败的记录优先于所有其他记录。 如果两条或更多条记录描述了相同的错误条件,则 Open Group CLI 规范(类 03 到 HZ)定义的 SQLSTATE 与 ODBC 定义的 SQLSTATE 和驱动程序定义的 SQLSTATE 不同。

  • 实现定义的无数据值 描述驱动程序定义“无数据”值(类 02)的状态记录具有第二高排名。

  • 警告 描述警告(类 01)的状态记录排名最低。 如果两条或多条记录描述了相同的警告条件,则根据 Open Group CLI 规范定义的警告 SQLSTATE 优先于 ODBC 定义和驱动程序定义的 SQLSTATE。

如果有两条或更多条具有最高排名的记录,则未定义哪个记录是第一条记录。 所有其他记录的顺序未定义。 具体而言,由于警告可能出现在错误之前,应用程序应在函数返回除SQL_SUCCESS以外的值时检查所有状态记录。