DB2循环游标,如何使循环能够继续
CREATE PROCEDURE bump_salary_iftest (IN deptnumber SMALLINT)
LANGUAGE SQL
BEGIN
DECLARE SQLSTATE CHAR(5);
DECLARE v_salary DOUBLE;
DECLARE v_years SMALLINT;
DECLARE v_id SMALLINT;
DECLARE at_end INT DEFAULT 0;
DECLARE not_found CONDITION FOR SQLSTATE '02000';
DECLARE C1 CURSOR FOR
SELECT id, CAST(salary AS DOUBLE), years
FROM staff;
DECLARE CONTINUE HANDLER FOR not_found
SET at_end = 1;
OPEN C1;
FETCH C1 INTO v_id, v_salary, v_years;
WHILE at_end = 0 DO
UPDATE staff
SET salary = 2150 * v_years
WHERE id = -1;
FETCH C1 INTO v_id, v_salary, v_years;
END WHILE;
CLOSE C1;
END
请问,我想让这个循环执行完,但是由于SET salary = 2150 * v_years
WHERE id = -1 更新的数据为0条,at_end变量就被置为1,从而导程序跳出循环,我如何做,能够及时更新数据为0行
,而循环还能继续下去呢,请高手指点