一尘不染

如何在Oracle sqlplus中编写for循环?

sql

我正在尝试在Oracle sqlplus接口中编写一个for循环。当按回车键编写循环语句时,出现错误:

SQL> for i in 1..10 loop
SP2-0734: unknown command beginning "for i in 1..." - rest of line ignored.
SQL>

我的for循环子句有问题吗?


阅读 304

收藏
2021-05-16

共1个答案

一尘不染

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请注意,将serveroutput设置为on是SQL * Plus命令,而不是PL /
SQL的一部分。它只是打开输出,因此您将看到dbms_output.put_line()函数的输出。

2021-05-16