在Oracle中,break和continue都是流程控制语句,但它们有不同的作用和用法。
- break语句用于跳出当前循环或switch语句。当break语句执行时,程序将立即退出当前循环或switch语句,然后继续执行循环或switch语句后面的代码。break语句通常用于终止循环,以避免无限循环或在满足某些条件时提前退出循环。
示例:
DECLARE num NUMBER := 1; BEGIN LOOP DBMS_OUTPUT.PUT_LINE(num); num := num + 1; IF num > 5 THEN EXIT; -- 使用exit语句也可以退出循环 END IF; END LOOP; END;
- continue语句用于跳过当前循环中的剩余代码,并继续下一次循环迭代。当continue语句执行时,循环体中continue语句后面的代码将被跳过,直接进入下一次循环迭代。
示例:
DECLARE total NUMBER := 0; BEGIN FOR i IN 1..10 LOOP IF i MOD 2 = 0 THEN CONTINUE; -- 如果i为偶数,则跳过后续代码,进行下一次迭代 END IF; total := total + i; END LOOP; DBMS_OUTPUT.PUT_LINE('总和为:' || total); END;
总而言之,break用于终止整个循环或switch语句的执行,而continue用于跳过当前循环中的剩余代码,继续下一次循环迭代。