ORACLE存储过程加上FOR循环后编译出现错误,求帮忙
DEMO1:
CREATE OR REPLACE 
PROCEDURE for_test AS
  i NUMBER;
BEGIN 
  i:= 1;
  DBMS_OUTPUT.put_line(i);
END;
结果正确:
Affected rows: 0
Time: 0.014s
----------------------------------------分割线--------------------------------
DEMO2:
CREATE OR REPLACE 
PROCEDURE for_test22 AS
  i NUMBER;
BEGIN 
  i:= 1;
for  in 0..10 loop
begin
DBMS_OUTPUT.put_line(i);
end;
end loop;
END;和DEMO1比就多一个FOR循环
结果报错:
[Err] ORA-24344: success with compilation error
换成WHILE循环也是报错,求各位CSDN网友协助!
ORACLE版本11G 

解决方案 »

  1.   

    你帖子发重了
    for  in 0..10 loop
    for x in 0..10 loop   -- 要写一个变量名,这个变量名,不要在上面定义。
      

  2.   


    -- 还没有解决吗 ?连接到:
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL>
    SQL> CREATE OR REPLACE PROCEDURE for_test22 AS
      2    i NUMBER;
      3  BEGIN
      4    i:= 1;
      5  for x in 0..10 loop
      6  begin
      7  DBMS_OUTPUT.put_line(i);
      8  end;
      9  end loop;
     10  END;
     11  /过程已创建。SQL> set serverout on
    SQL> call for_test22() ;
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1调用完成。SQL> CREATE OR REPLACE PROCEDURE for_test22 AS
      2    i NUMBER;
      3  BEGIN
      4    i:= 1;
      5  for x in 0..10 loop
      6  begin
      7  DBMS_OUTPUT.put_line(x);
      8  end;
      9  end loop;
     10  END;
     11  /过程已创建。SQL> call for_test22() ;
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10调用完成。SQL>