📅  最后修改于: 2023-12-03 15:33:42.752000             🧑  作者: Mango
在编写PL/SQL代码时,通常需要使用循环结构来处理和操作数据。PL/SQL提供了多种不同类型的循环结构,例如FOR循环、WHILE循环和LOOP循环等。
在循环体内部执行的语句可能需要中断或者跳过当前循环,PL/SQL提供了多个语句来实现这个目的。
BREAK语句可以用来跳出当前循环。当执行到BREAK语句时,PL/SQL会立即跳出当前循环,继续执行循环外的语句。代码示例如下:
BEGIN
FOR i IN 1..10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
IF i = 5 THEN
EXIT;
END IF;
END LOOP;
END;
以上代码使用了FOR循环来遍历1到10之间的数字。当i等于5的时候,通过IF语句和EXIT关键字来退出循环。
CONTINUE语句可以用来跳过当前循环的剩余部分,继续执行下一次循环。当执行到CONTINUE语句时,PL/SQL会跳过该循环内的后续语句,开始执行下一次的循环。代码示例如下:
BEGIN
FOR i IN 1..10 LOOP
IF i = 5 THEN
CONTINUE;
END IF;
DBMS_OUTPUT.PUT_LINE(i);
END LOOP;
END;
以上代码同样使用了FOR循环来遍历1到10之间的数字。当i等于5的时候,通过IF语句和CONTINUE关键字来跳过该循环内的后续语句,开始执行下一次的循环。
GOTO语句可以用来无条件跳转到指定的语句。在PL/SQL程序中,标签是一种标记语句的名称的方式。可以使用GOTO语句和标签来实现特定的程序控制流程。代码示例如下:
BEGIN
FOR i IN 1..10 LOOP
IF i = 5 THEN
GOTO my_label;
END IF;
DBMS_OUTPUT.PUT_LINE(i);
END LOOP;
<<my_label>>
DBMS_OUTPUT.PUT_LINE('Loop is done!');
END;
以上代码同样使用了FOR循环来遍历1到10之间的数字。当i等于5的时候,通过IF语句和GOTO关键字跳转到标签为“my_label”的语句处,跳过该循环内的后续语句,在跳转到的语句处继续执行。