我写了这个,我的老师说“退出”有问题,但我不明白为什么

问题描述 投票:0回答:1

这是代码,正如我所说他说退出有问题。

DECLARE
    a number:=1;
    b number:=6;
    exit BOOLEAN;
    BEGIN
        exit:='FALSE'; 
        WHILE NOT exit LOOP
            IF a>=b THEN
                exit:='TRUE';
            ELSE
                a:=(a+1);
            END IF;
        END LOOP;
END;
oracle plsql
1个回答
4
投票

exit是一个声明,因此你不应该将它用作变量 - 它是一个reserved word。只是声明本身将退出循环:

 DECLARE
    a number:=1;
    b number:=6;
 BEGIN
    LOOP
        IF a>=b THEN
            EXIT;
        ELSE
            a:=a+1;
        END IF;
    END LOOP;
 END;

您还可以将EXITWHEN子句结合使用:

 DECLARE
    a number:=1;
    b number:=6;
 BEGIN
    LOOP
        EXIT WHEN a>=b;
        a:=a+1;
    END LOOP;
 END;

或者,您可以将WHILE子句中的逆条件添加到LOOP构造中:

 DECLARE
    a number:=1;
    b number:=6;
 BEGIN
    WHILE a < b LOOP
        a:=a+1;
    END LOOP;
 END;
© www.soinside.com 2019 - 2024. All rights reserved.