2012-02-15 71 views
0

我很新的PL SQL,当我试着写某事象下面这样:PLSQL遇到的符号“最终offile” ...... PLS-00103

BEGIN FOR foo IN (SELECT A, B, C FROM foo_table WHERE some_conditions) LOOP 
DBMS_OUTPUT.PUT_LINE('sth here') 
END LOOP; 

在执行statment我得到了以下错误在SQL Developer中

出现符号“档案结尾”期待当是下列之一: 开始的情况下宣告结束例外更多...

这有什么错我的发言?任何人都可以给我一个小费如何解决这个问题?我会很高兴所有的提示。

+1

PL/SQL使用分号(;)行结束......如果这是你的实际代码开始出现:HTTP:/ /docs.oracle.com/cd/B19306_01/appdev.102/b14261/controlstructures.htm – tawman 2012-02-15 22:12:41

+0

ooops,我在我的例子中忘了它,在原代码中是END LOOP;这个错误就像我在第一篇文章中写的一样。 已更新,但当分号已放入我的代码中时出现错误。 – user1212503 2012-02-15 22:17:13

回答

9

以及缺少;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; 
1

你缺少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; 

(编辑:不知何故,我错过了约翰的发布前正确回答。)

相关问题