Я написал это, и мой учитель говорит, что есть проблема с «выходом», но я не понимаю, почему - PullRequest
0 голосов
/ 25 марта 2019

Это код, и, как я уже сказал, он говорит, что есть проблема с выходом.

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;

1 Ответ

4 голосов
/ 25 марта 2019

exit является оператором, и поэтому вы не должны использовать его как переменную - это зарезервированное слово .Только оператор сам по себе выйдет из цикла:

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

Вы также можете объединить EXIT с предложением WHEN:

 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...