我无法使用%notfound,因为我收到以下错误。我怎么能超过这个?除了这种方法之外,我无法找到使用游标的方法。请帮助使用其他方法来使用游标循环而不使用%notfound。
“EXIT WHEN c_rqstid”后的字符“%”无效.SQLCODE = -7,SQLSTATE = 42601,DRIVER = 3.63.123 SQL代码:-7,SQL状态:42601
我已将@设置为分隔符,代码如下
create PROCEDURE TEST111()
AS:
begin
DECLARE c_id integer;
DECLARE c_isactive integer;
DECLARE c_status integer;
CURSOR c_rqstid is SELECT REQUESTID,REQUESTSTATUS,ISACTIVE FROM SAMPLE.REQUEST;
OPEN c_rqstid;
FOR LOOP FETCH c_rqstid into c_id,c_status,c_isactive ;
----will code this later
EXIT WHEN c_rqstid%NOTFOUND;
END LOOP;
CLOSE c_rqstid;
end
@
感谢您提前提供任何帮助......
答案 0 :(得分:2)
您需要检查SQLCODE或SQLSTATE变量:
DECLARE SQLCODE INTEGER DEFAULT 0;
DECLARE SQLSTATE CHAR(5) DEFAULT '00000';
WHILE(SQLSTATE = '00000') DO
SET p_sum = p_sum + p_sal;
FETCH FROM c INTO p_sal;
END WHILE;