Oracle sqlplus インターフェイスで for ループを作成しようとしています。Enter キーを押してループ ステートメントを記述すると、エラーが発生します。
SQL> for i in 1..10 loop
SP2-0734: unknown command beginning "for i in 1..." - rest of line ignored.
SQL>
for ループ句に何か問題がありますか?
forループはPL/SQL構造です。PL/SQLをBEGIN/ENDブロックでラップしてみてください。
変数を宣言する必要がある場合は、DECLAREから始めてください。このようなもの:
set serveroutput on
begin
for a in 1..10 loop
dbms_output.put_line('a='||to_char(a));
end loop;
end;
/
お役に立てば幸いです。
PS setserveroutputonはSQL*Plusコマンドであり、PL/SQLの一部ではないことに注意してください。出力をオンにするだけなので、dbms_output.put_line()関数からの出力が表示されます。
sqlplus は言語ではなく、SQL または PL/SQL を入力できる Oracle へのインターフェイスです。
この場合、単純な pl/sql 匿名ブロックを使用します
begin
for i in 1..10
loop
-- some great stuff goes here
end loop;
end
/