日期:2014-05-17  浏览次数:20822 次

新手求解一个简单的问题:如何在一个语句块里面调用存储过程?
如何在一个语句块里面调用存储过程??
declare
sql_stmt varchar2(1000);
begin
FOR cnt IN 1..5 LOOP
sql_stmt := 'exec InsertData1';
execute immediate sql_stmt;
END LOOP;
end;
/

上面是我的程序,目的是调用存储过程InsertData1 5次,重复插入数据到某一表中。
报错:
declare
*
ERROR at line 1:
ORA-00900: invalid SQL statement
ORA-06512: at line 6

简单点的
begin
FOR cnt IN 1..5 LOOP
exec InsertData1;
END LOOP;
end;
/
也不行。估计是语句块里调用存储过程出了问题。求解,谢谢!
------最佳解决方案--------------------
begin
FOR cnt IN 1..5 LOOP
  InsertData1;
END LOOP;
end;
------其他解决方案--------------------
正解,谢谢!