SQLSTATE
Db2 在执行完每个SQL语句(GET DIAGNOSTICS或复合语句除外)后设置SQLSTATE。 Db2 返回符合SQL标准中错误规范的值。 因此,应用程序可以通过测试SQLSTATE而不是SQLCODE来检查SQL语句的执行情况。
SQLSTATE为应用程序提供常见错误情况的通用代码(如果错误或警告是特定于产品的,则SQLSTATE的值是特定于产品的)。 此外,SQLSTATE的设计使应用程序能够测试特定的错误或错误类别。 所有 IBM® SQL实现都采用相同的编码方案。 SQLSTATE值基于SQL标准中包含的SQLSTATE规范。 错误消息和错误消息中替换变量的标记与SQLCODE值相关联,而不是与SQLSTATE值相关联。
对于LOOP语句,SQLSTATE在LOOP语句的END LOOP部分完成后设置。 在REPEAT语句中,SQLSTATE在REPEAT语句的UNTIL和END REPEAT部分完成后设置。
如果应用程序使用 Db2 ODBC ,则返回的SQLSTATE符合 ODBC 版本 2.0 规范。