Oracle “遇到错误”';(';expected";尝试执行for循环以查找前十个数字的和';
我正在尝试用PL SQL编写一个简单的for循环程序,以查找从1到10的前十个数字的总和 早些时候,我在declare中初始化了变量。但是,当我遇到错误时,我在declare部分中声明了它,并在begin部分中初始化了它,希望这可能就是问题所在。 然而,我仍然得到了错误Oracle “遇到错误”';(';expected";尝试执行for循环以查找前十个数字的和';,oracle,plsql,Oracle,Plsql,我正在尝试用PL SQL编写一个简单的for循环程序,以查找从1到10的前十个数字的总和 早些时候,我在declare中初始化了变量。但是,当我遇到错误时,我在declare部分中声明了它,并在begin部分中初始化了它,希望这可能就是问题所在。 然而,我仍然得到了错误 SQL> declare 2 sum integer; 3 begin 4 sum := 0; 5 for k in 1..10 6 loop 7 dbms_output.put_lin
SQL> declare
2 sum integer;
3 begin
4 sum := 0;
5 for k in 1..10
6 loop
7 dbms_output.put_line(sum+k);
8 end loop;
9 end;
10 /
dbms_output.put_line(sum+k);
*
ERROR at line 7:
ORA-06550: line 7, column 25:
PLS-00103: Encountered the symbol "+" when expecting one of the following:
(
当您使用oracle保留字(如sum)时,请不要这样做,但如果您确实使用它们,请在双引号内使用它们,如下所示:
declare
"sum" integer;
begin
"sum" := 0;
for k in 1..10
loop
dbms_output.put_line("sum"+k);
end loop;
end;
这样就可以了。
希望这有帮助!当您使用oracle保留字(如sum)时,请不要使用,但如果您确实使用它们,请在双引号内使用它们,如下所示:
declare
"sum" integer;
begin
"sum" := 0;
for k in 1..10
loop
dbms_output.put_line("sum"+k);
end loop;
end;
这样就可以了。
希望这有帮助!sum是保留关键字,请尝试使用其他变量@ϻᴇᴛᴀʟ谢谢!成功了。ϻᴇᴛᴀʟ
SUM
实际上不是保留关键字。但看起来你的建议解决了OP.@TimBiegeleisen,因此我更正了我所说的。SUM
不是Oracle保留关键字,而是PL/SQL保留关键字。SUM是保留关键字,请尝试使用其他变量@ᴇᴛᴀʟ谢谢!成功了。ϻᴇᴛᴀʟSUM
实际上并不是一个保留关键字。但看起来你的建议解决了OP.@TimBiegeleisen,因此我更正了我所说的。SUM
不是Oracle保留关键字,而是PL/SQL保留关键字。