0

以下のようにsthを書き込もうとしたとき、私はPLSQLにまったく慣れていません。

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

SQLDeveloperでステートメントを実行中に次のエラーが発生しました

予期しているときに記号「ファイルの終わり」に遭遇したのは、次のいずれかです。開始ケース宣言終了例外など...

私の声明の何が問題になっていますか?誰かがこれを解決する方法のヒントを教えてもらえますか?私はすべてのヒントをとてもうれしく思います。

4

2 に答える 2

9

欠けているだけでなく、;anend;も欠けています。このコードは動作するはずです:

BEGIN FOR foo IN (SELECT A, B, C FROM foo_table WHERE some_conditions) LOOP
DBMS_OUTPUT.PUT_LINE('sth here');
END LOOP;
END;
于 2012-02-15T22:55:51.040 に答える
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;

(編集:どういうわけか、投稿する前にジョンの正しい返信を逃しました。)

于 2016-06-03T10:17:32.437 に答える