2012-02-15 2 views
0

...「エンドoffile」をシンボルに遭遇しました:PLSQLは、私は以下のようなSTHを書き込もうとしたとき、PL SQLで非常に新たなんだ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; 

なステートメントを実行しながら、私はエラーを次しまいました 私の文を使用して、何が悪い

...エンド例外を宣言し、より多くのケースを開始:SQL Developerの期待シンボル「エンド・オブ・ファイル」とは、一次検出されまし

で?誰も私にこれを解決するためのヒントを教えてもらえますか?私はすべてのヒントがとてもうれしい。

+1

(編集何とか私は投稿する前にジョンの正しい回答を逃した。)(;)それはあなたの実際のコードであれば...行末が起動します。http:/ /docs.oracle.com/cd/B19306_01/appdev.102/b14261/controlstructures.htm – tawman

+0

ooops、私の例では忘れてしまいました。起点コードではEND LOOPです。私の最初の投稿に書いたようなエラーです。 が更新されましたが、セミコロンがすでに自分のコードに配置されているときにエラーが発生しました。 – user1212503

答えて

9

;が欠けているだけでなく、end;も欠落しています。このコードは動作するはずです:あなたはbeginを閉鎖する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

コードの書式設定時に、このようなことが起こりやすくなります。

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はセミコロンを使用しています

関連する問題