📜  PL SQL退出循环(1)

📅  最后修改于: 2023-12-03 15:33:42.752000             🧑  作者: Mango

PL/SQL退出循环

在编写PL/SQL代码时,通常需要使用循环结构来处理和操作数据。PL/SQL提供了多种不同类型的循环结构,例如FOR循环、WHILE循环和LOOP循环等。

在循环体内部执行的语句可能需要中断或者跳过当前循环,PL/SQL提供了多个语句来实现这个目的。

BREAK语句

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语句可以用来跳过当前循环的剩余部分,继续执行下一次循环。当执行到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语句

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”的语句处,跳过该循环内的后续语句,在跳转到的语句处继续执行。