oracle - 我写了这个,我的老师说“退出”有问题,但我不明白为什么
问题描述
这是代码,正如我所说,他说退出有问题。
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;
解决方案
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;