2012-02-15 31 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; 

(編輯:不知何故,我錯過了約翰的發佈前正確回答。)

相關問題