通过声明处理程序捕获DB2 SQL-PL中所有类型的rised信号的方法

时间:2014-02-10 14:10:48

标签: stored-procedures db2 sql-pl

我想在我的代码中处理所有类型的生成信号。我知道如何使用Declare Handler捕获特定的一个,但是我想要所有这些。

例如,我在这里捕获72822信号。

DECLARE EXIT HANDLER FOR SQLSTATE '72822'
  BEGIN
    IF ( var = 'OK' )
      RESIGNAL SQLSTATE '72623' SET MESSAGE_TEXT = 'Got SQLSTATE 72822';
    ELSE
      RESIGNAL SQLSTATE '72319' SET MESSAGE_TEXT = var;
  END;

我将调用一个我不知道代码的存储过程,并且我必须能够处理所有可能的信号(例如,将信号代码插入表中。)

我想要像

这样的东西
DECLARE EXIT HANDLER FOR ALL

1 个答案:

答案 0 :(得分:2)

我认为那是DECLARE EXIT HANDLER FOR SQLEXCEPTION, SQLWARNING

http://pic.dhe.ibm.com/infocenter/db2luw/v10r5/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0004239.html