WHILE循环语句

语法:

while_stmt ::=

参数:

label 标号名

boolean_expression 布尔值表达式

<statements> PLOSCAR语句列表

说明:

先判断循环条件,后执行循环。

示例:WHILE循环语句

--  清理环境
--  清理环境
DROP PROCEDURE while_proc1;
DROP PROCEDURE while_proc2;

--创建过程
CREATE OR REPLACE PROCEDURE while_proc1 as
DECLARE
    n INT := 1;
BEGIN
    WHILE (n > 0) AND (n < 4) LOOP
        DBMS_OUTPUT.PUT_LINE(n);
        n := n+1;
    END LOOP;
END;
/

CREATE OR REPLACE PROCEDURE while_proc2 as
DECLARE
    n INT := 0;
    flag BOOLEAN := true;
BEGIN
    WHILE flag 
    LOOP
        DBMS_OUTPUT.PUT_LINE(n);
        n := n+1;
        IF n > 3 THEN
            flag := false;
        END IF;
    END LOOP;
END;

/

exec while_proc1;
1
2
3

exec while_proc2;
0
1
2
3

--删除过程
drop procedure while_proc1;
drop procedure while_proc2;