Способ перехвата всех типов повышенных сигналов в DB2 SQL-PL через обработчик объявления
Я хочу обработать все типы генерируемых сигналов в моем коде. Я знаю, как поймать конкретный с помощью Обработчика объявления, однако я бы хотел их всех.
Например, здесь я ловлю сигнал 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 ответ
Это было бы 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