一.迭代控制:
1.简单循环 :一种有两种 形式:
(1)EXIT语句:如:
LOOP
STATEMENT 1;
STATEMENT 2;
IF CONDITION THEN
EXIT;
END IF;
END LOOP;
STATEMENT 3;
(2) EXIT WHEN 语句:如:
LOOP
STATEMENT 1;
STATEMENT 2;
EXIT WHEN CONDITION;
END LOOP;
STATEMENT 3;
2.WHILE 循环
形式:
WHILE CONDITION LOOP
STATEMENT 1;
STATEMENT 2;
...
STATEMENT N;
END LOOP;
3.数值型FOR 循环
形式:
FOR loop_counter IN [REVERSE] lower_limit .. upper_limit LOOP
STATEMENT 1;
STATEMENT 2;
...
STATEMENT N;
END LOOP;
4.CONTINUE 语句
(1)CONTINUE 语句:
LOOP
STATEMENT 1;
STATEMENT 2;
IF CONTINUE_CONDITION THEN
CONTINUE;
END IF;
EXIT WHEN EXIT_CONDITION;
END LOOP;
STATEMENT 3;
(2) CONTINUE WHEN 语句
LOOP
STATEMENT 1;
STATEMENT 2;
CONTINUE WHEN CONTINUE_CONDITION;
EXIT WHEN EXIT_CONDITION;
END LOOP;
STATEMENT 3;
【循环标签】 标签必须出现在循环的开始处。使用标签可以提升代码的可读性。
如:
<<label_name>>
FOR LOOP_COUNTER IN LOWER_LIMIT .. UPPER_LIMIT LOOP
STATEMENT 1;
...
STATEMENT N;
END LOOP label_name;
BEGIN
<<outer_loop>>
FOR i IN 1 .. 3 LOOP
DBMS_OUTPUT.PUT_LINE('i = ' || i );
<<inner_loop>>
FOR j IN 1 .. 5 LOOP
DBMS_OUTPUT.PUT_LINE('j = ' || j );
END LOOP inner_loop;
END LOOP outer_loop;
END;