declare
 i number;
 sum number:=0;
begin
 for i in 1..100 loop
 sum:=sum+i;
 end loop;
 dbms_output.put_line(sum);
end;报错如下:
ERROR 位于第 6 行:
ORA-06550: 第 6 行, 第 10 列:
PLS-00103: 出现符号 "+"在需要下列之一时?
(
ORA-06550: 第 8 行, 第 26 列:
PLS-00103: 出现符号 ")"在需要下列之一时?
(
这个是什么问题???

解决方案 »

  1.   


    DECLARE
      --I   NUMBER;  --for循环里面的变量不需要声明
      SUM NUMBER := 0;
    BEGIN
      FOR I IN 1 .. 100 LOOP
        SUM := SUM + I;
      END LOOP;
      DBMS_OUTPUT.PUT_LINE(SUM);
    END;
      

  2.   

        SUM := SUM + I;
                   *
    ERROR 位于第 5 行:
    ORA-06550: 第 5 行, 第 16 列:
    PLS-00103: 出现符号 "+"在需要下列之一时?
    (
    ORA-06550: 第 7 行, 第 27 列:
    PLS-00103: 出现符号 ")"在需要下列之一时?
    (
      

  3.   

    declare
     i number;
     sum number:=0; 
     vn_sum number:=0; 
    begin
     for i in 1..100 loop
     --sum:=sum+i; /*sum是Oracle里的关键字,不能用做变量定义*/
     vn_sum := vn_sum + i; --换成变量vn_sum 就可以了
     end loop;
     --dbms_output.put_line(sum);
     dbms_output.put_line(vn_sum);
    end;#1楼:和i有没有定义,没有太大关系。
      

  4.   

    居然没有注意到,sum是关键字不能这么用。DECLARE
      --I   NUMBER;  --for循环里面的变量不需要声明
      v_SUM NUMBER := 0;
    BEGIN
      FOR I IN 1 .. 100 LOOP
        v_SUM := v_SUM + I;
      END LOOP;
      DBMS_OUTPUT.PUT_LINE(v_SUM);
    END;
      

  5.   

    sum 是关键名,请用intSum之类的