PL / SQL PLS-00103添加两个变量

时间:2009-11-21 09:56:08

标签: oracle plsql

我是pl / sql的新手,并尝试使用以下代码打印直到100的数字:

Declare
    i number;
    sum number:=0;
    x number:=2;
    n number;
Begin
    for i in 1..100 loop
        if (i%x=0) then
            n:=i;       
            sum:=sum+n;
        end if;
    end loop;
    dbms_output.put_line(sum);
end;

我收到此错误

ERROR at line 10:
ORA-06550: line 10, column 12:
PLS-00103: Encountered the symbol "+" when expecting one of the following:
(
ORA-06550: line 13, column 26:
PLS-00103: Encountered the symbol ")" when expecting one of the following:
( 

帮助? :(

PL / SQL中没有%运算符;使用mod(i,x)函数代替。无论如何,你不需要n变量。 sum:= sum +我会做的。 sum可能是一个保留字,用s代替。 \

现在:

  Declare
    i number;
    sum number:=0;
Begin
    for i in 1..100 loop
        if (mod(i,2)=0) then   
                sum:=sum+i;
        end if;
    end loop;
    dbms_output.put_line(sum);
end;

同样的问题:(

2 个答案:

答案 0 :(得分:5)

PL / SQL中没有%运算符;请改用mod(i,x)函数。无论如何,你不需要n变量。 sum:=sum+i会这样做。但是:sum是PL / SQL keyword,而是使用s。

答案 1 :(得分:0)

Declare
i number;
sum1  number:=0; 
x number:=2;
n number;
Begin
for i in 1..100 loop
if(i mod x =0)then
n:=i;  
sum1:=sum1+n;
end if;
end loop;
dbms_output.put_line(sum1);
end;
/

原因:

“sum”是聚合函数之一,因此我们不能将其用作变量名。