Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 存储过程和触发器 » 使用过程、触发器和批处理

 

过程和触发器中的错误和警告

应用程序在执行某个 SQL 语句后,可以检查状态代码。此状态码(即返回代码)指示执行的语句是成功还是失败,并给出失败的原因。可以使用相同的机制来指示对过程执行的 CALL 语句是成功还是失败。

错误报告使用 SQLC(常用于拦截某个 ODE)或 SQLSTATE 状态说明。有关 SQLCODE 和 SQLSTATE 错误以及警告值及其含义的完整说明,请参见错误消息

只要执行 SQL 语句,就会在称作 SQLSTATE 和 SQLCODE 的特殊过程变量中出现值。特殊值指示在执行语句时是否遇到了任何意外情况。可以在执行 SQL 语句后通过 IF 语句来检查 SQLSTATE 或 SQLCODE 的值,并根据语句的成功与否采取措施。

例如,可使用 SQLSTATE 变量来指示是否成功地获取了某行。在过程中在 SELECT 语句上使用游标一节中介绍的 TopCustomerValue 过程使用 SQLSTATE 测试来检测是否已经处理了 SELECT 语句的所有行。


过程和触发器中缺省的错误处理
使用 ON EXCEPTION RESUME 处理错误
过程和触发器中警告的缺省处理
在过程和触发器中使用异常处理程序
嵌套的复合语句和异常处理程序