此问题已在此处有答案:
What is purpose of NULL at the end of this loop?(2个答案)
2天前关闭。
我得到一个错误
PLS-00103:预期出现以下情况之一时,遇到符号“END”:(开始case declare exit for后藤if loop mod null raise return select update while with〈〈continue close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge standard pipe purge json_object
我的代码如下:
declare
a int := 4;
i int;
begin
for i in 1..10 loop
dbms_output.put_line(i);
if i=a then
goto ax;
end if;
end loop;
<<ax>>
end;
1条答案
按热度按时间2cmtqfgy1#
来自文档:
标签只能出现在块之前(如例4-21)或语句之前(如例4-29),而不能出现在语句中,如例4-30。
正如你在例子中看到的,你可以通过添加一个null语句来解决这个问题:
在这种情况下,您也可以使用
exit
而不是goto
:fiddle
在这两种情况下,我都注解掉了
i
的声明--你不需要声明一个循环变量,即使你声明了,作用域也是不同的,所以它们是独立的。