FOR循环中的EXIT WHEN和CONTINUE WHEN
|
DECLARE v_employees employees%ROWTYPE; CURSOR c1 is SELECT * FROM employees; BEGIN OPEN c1; -- 获取整个行 FOR i IN 1..10 LOOP FETCH c1 INTO v_employees; EXIT WHEN c1%NOTFOUND; -- 在此处理数据 END LOOP; CLOSE c1; END; |
|
DECLARE v_employees employees%ROWTYPE; CURSOR c1 is SELECT * FROM employees; BEGIN OPEN c1;
-- 获取整行 <<outer_loop>> FOR i IN 1..10 LOOP -- 在此处理数据 FOR j IN 1..10 LOOP FETCH c1 INTO v_employees; --直接退出外部循环 EXIT outer_loop WHEN c1%NOTFOUND; -- 在此处理数据 END LOOP; END LOOP outer_loop; CLOSE c1; END; |
|
--不管表中有多少条记录,循环都做100次 DECLARE v_employees employees%ROWTYPE; CURSOR c1 is SELECT * FROM employees; BEGIN OPEN c1;
<<outer_loop>> FOR i IN 1..10 LOOP DBMS_OUTPUT.PUT_LINE('外部循环 i = ' || i); FOR j IN 1..10 LOOP DBMS_OUTPUT.PUT_LINE('内部循环 j = ' || j); FETCH c1 INTO v_employees; CONTINUE outer_loop WHEN c1%NOTFOUND; END LOOP; END LOOP outer_loop; CLOSE c1; END; |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17013648/viewspace-1107112/ ,如需转载,请注明出处,否则将追究法律责任。