我正在尝试在Oracle sqlplus接口中编写for循环.当写一个循环语句按一下输入时,我收到一个错误:
SQL> for i in 1..10 loop
SP2-0734: unknown command beginning "for i in 1..." - rest of line ignored.
SQL>
Run Code Online (Sandbox Code Playgroud)
我的for循环子句有问题吗?
Mar*_*bak 17
For循环是一个PL/SQL结构.尝试在BEGIN/END块中包装PL/SQL.
如果需要声明变量,请以DECLARE开头.像这样的东西:
set serveroutput on
begin
for a in 1..10 loop
dbms_output.put_line('a='||to_char(a));
end loop;
end;
/
Run Code Online (Sandbox Code Playgroud)
希望有所帮助.
PS请注意,set serveroutput on是一个SQL*Plus命令,而不是PL/SQL的一部分.它只是打开输出,所以你会看到dbms_output.put_line()函数的输出.
sqlplus不是一种语言,而是Oracle的接口,您可以在其中输入SQL或PL/SQL.
在这种情况下,使用一个简单的pl/sql匿名块
begin
for i in 1..10
loop
-- some great stuff goes here
end loop;
end
/
Run Code Online (Sandbox Code Playgroud)