PL SQL 遇到符号“文件结尾”... PLS-00103
Posted
技术标签:
【中文标题】PL SQL 遇到符号“文件结尾”... PLS-00103【英文标题】:PLSQL encountered the symbol "end-offile"... PLS-00103 【发布时间】:2012-02-15 22:09:03 【问题描述】:我对 PL SQL 还很陌生,当我尝试编写如下内容时:
BEGIN FOR foo IN (SELECT A, B, C FROM foo_table WHERE some_conditions) LOOP
DBMS_OUTPUT.PUT_LINE('sth here')
END LOOP;
在 SQL Developer 中执行语句时出现以下错误
当期望是以下之一时遇到符号“文件结尾”: 开始案例声明结束异常等等......
我的陈述有什么问题?谁能给我一个提示如何解决这个问题?我会很高兴所有提示。
【问题讨论】:
PL/SQL 使用分号 (;) 行尾...如果那是您的实际代码从那里开始:docs.oracle.com/cd/B19306_01/appdev.102/b14261/… 哎呀,我在我的例子中忘记了它,在原始代码中它是 END LOOP;错误就像我在第一篇文章中写的那样。更新了,但是当分号已经放在我的代码中时我得到了错误。 【参考方案1】:除了缺少;
之外,还缺少end;
。这段代码应该可以工作:
BEGIN FOR foo IN (SELECT A, B, C FROM foo_table WHERE some_conditions) LOOP
DBMS_OUTPUT.PUT_LINE('sth here');
END LOOP;
END;
【讨论】:
【参考方案2】:您缺少 end
关键字来关闭 begin
。
当你格式化你的代码时,这种事情往往会突然出现。
begin
for foo in (
select a, b, c from foo_table where some_conditions
)
loop
dbms_output.put_line('sth here');
end loop;
(编辑:不知何故我在发帖前错过了约翰的正确回复。)
【讨论】:
以上是关于PL SQL 遇到符号“文件结尾”... PLS-00103的主要内容,如果未能解决你的问题,请参考以下文章
PLS-00103:遇到符号“文件结尾”Sql Developer
PL/SQL 函数错误 - PLS-00103:遇到符号“IS”
在 PL/SQL 中编译包时出错。错误(7,1):PLS-00103:遇到符号“CREATE”
Pl SQL Oracle PLS-00103:遇到符号“CREATE”