Чтобы сэкономить время, всегда пишите операционную систему Db2-сервера и версию Db2 при обращении за помощью.Ответ может зависеть от этих фактов.
Убедитесь, что терминатор вашего оператора не является значением по умолчанию (в приведенном ниже примере я использую @ для терминатора), и следуйте правилам использования курсоров в процедурах SQL для возврата наборов результатов вклиент или абонент:
Пример:
CREATE or replace PROCEDURE TestProc ( IN IN_NBR CHAR(20) )
ISOLATION LEVEL CS
VALIDATE BIND
language sql
specific TestProc
dynamic RESULT SETS 1
BEGIN
declare c1 cursor for SELECT * FROM AB.WC_TEM WHERE CAT_NBR = IN_NBR with ur;
IF ((SUBSTR(IN_NBR,1,2) != 'IO') OR (SUBSTR(IN_NBR,1,2) != 'DO'))
THEN
open c1;
END IF;
END
@