WHILE 语句 (PL/SQL)

WHILE 语句在指定的表达式为 true 时反复执行一组 SQL 语句。每次进入循环体时,都将立即对此条件进行求值。

调用

可以在 PL/SQL 过程、函数或匿名块语句中嵌入此语句。

权限

调用 WHILE 语句不需要任何特权;但是,此语句的授权标识必须拥有调用 WHILE 语句中嵌入的 SQL 语句所必需的特权。

语法

阅读语法图跳过直观语法图WHILE 表达式LOOPstatementEND LOOP

描述

表达式
指定一个表达式,在每次进入循环体之前,都将立即对此表达式进行求值以确定是否执行该循环。如果此表达式在逻辑上为 true,那么将执行该循环。如果此表达式在逻辑上为 false,那么循环处理结束。可以使用 EXIT 语句在此表达式为 true 时终止循环。
statement
指定每次处理循环时执行的 PL/SQL 和 SQL 语句。

示例

以下示例演示匿名块中的基本 WHILE 语句:
DECLARE
  sum INTEGER := 0;
BEGIN      
  WHILE sum < 11 LOOP
    sum := sum + 1;
  END LOOP;
END   
此匿名块中的 WHILE 语句将执行到 sum 等于 11 为止;然后,循环处理结束,匿名块的处理将进行到完成。