1、简单循环
LOOP
executable statement(s)
END LOOP;
什么时候选择简单循环:不确定循环会执行多少次;希望循环至少执行一次。
只有当一个EXIT(或者EXIT WHEN )语句在循环主体中被执行时,或主体引发一个异常(且未被处理)时,该简单循环终止。
LOOP
balance_remaining := account_balance (account_id);
IF balance_remaining <1000
THEN
EXIT;
ELSE
apply_balance (account_id,balance_remaining);
END IF;
END LOOP;
2、WHILE循环
WHILE condition
LOOP
executable statement(s)
END LOOP;
适用情况:不知道必须执行多少次循环体;要有条件地终止循环;不必至少执行一次主体。
3、数值型FOR循环
FOR loop index IN[REVERSE] lowest number ..highest number
LOOP
executable statement(s)
END LOOP;
执行次数固定,不想过早退出循环时适用。
小值在前,大值在后;如果两值相等,该循环执行一次。
处理特殊增量
FOR loop_index IN 1..100
LOOP
IF MOD (loop_index,2) =