GBASE南大通用:检索单行的处理错误及数据结束等分享原创

处理错误

  虽然数据库服务器自动地处理数据类型之间的转换,但使用 SELECT 语句仍可发生错误。 在 SQL 编程中,如同在任何种类的编程中一样,您必须预见错误并随时为应对其做好准 备。

数据的结束

  通常会发生没有行满足查询的情况。在 SELECT 语句之后,通过 SQLSTATE 代码 02000 和 SQLCODE 中的代码 100 标志此事件。此代码指示一个错误或一般事件,这完全依赖 于您的应用程序。如果您确信应有一行或多行满足查询(例如,如果您使用您刚从另一表 的行读取的键值读取一行的话),则“数据的结束”代码表示在该程序的逻辑中的严重错 误。在另一方面,如果您基于用户提供的键,或其他来源提供的不如程序可靠的键,则数 据的缺乏可能是正常事件。

不符合 ANSI 的数据库的数据的结束 

  如果您的数据库不符合 ANSI,则跟在 SELECT 语句之后,仅在 SQLCODE 中设置“数 据的结束”返回代码 100。此外,将 SQLSTATE 值设置为 02000。(诸如 INSERT、 UPDATE 和 DELETE 这样的其他语句设置 SQLERRD 的第三个元素,来展示他们影响了 多少行;通过 SQL 程序修改数据 讨论此主题。)

严重的错误 

  将 SQLCODE 设置为负值的错误,或将 SQLSTATE 设置为任何不以 00、01 或 02 开头 的值的错误通常都很严重。您已开发好的程序或正在生产的程序几乎不应报告这些错误。 然而,很难预料每一种有问题的情况,因此您的程序必须能够处理这些错误。 例如,查询可返回错误 -206,这意味着在该查询中指定的表不在数据库中。如果有人在编 写了程序之后删除了该表,或如果该程序通过某种逻辑错误或输入错误打开了错误数据库, 则会发生此情况。

你可能感兴趣的:(数据库,GBASE南大通用,GBASE)