这是代码,正如我所说他说退出有问题。
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
是一个声明,因此你不应该将它用作变量 - 它是一个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;
您还可以将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;