SQL 过程中的条件处理程序

条件处理程序确定满足条件时 SQL 过程的行为。可在 SQL 过程中针对一般条件、具名条件或特定 SQLSTATE 值声明一个或多个条件处理程序。

如果 SQL 过程中的语句引发 SQLWARNING 或 NOT FOUND 情况,并且您已声明针对相应情况的处理程序,那么 Db2® 会将控制权转交给相应处理程序。如果尚未声明针对此类情况的处理程序,那么 Db2 会将控制权转交给 SQL 过程体中的下一个语句。如果已声明 SQLCODE 和 SQLSTATE 变量,那么它们将包含对应该条件的值。

如果 SQL 过程中的语句引发 SQLEXCEPTION 情况,并且您已声明针对特定 SQLSTATE 或 SQLEXCEPTION 情况的处理程序,那么 Db2 会将控制权转交给该处理程序。如果已声明 SQLSTATE 和 SQLCODE 变量,那么成功执行处理程序后,这两个变量的值将分别为“00000”和 0。

如果 SQL 过程中的语句引发 SQLEXCEPTION 情况,并且尚未声明针对特定 SQLSTATE 或 SQLEXCEPTION 情况的处理程序,那么 Db2 会终止该 SQL 过程并返回至调用程序。

条件处理程序的处理程序声明语法是在复合 SQL(编译型)语句中描述的。