我按书上的例子写的,编译通不过
sql_str := 'insert into test_table(test1,test2) values(:arg1,:arg2)';
forall i in 1..5
execute immediate sql_str
using 2, 3;
总是提示execute这一行有问题
我用的是ORACLE8.1.7
sql_str := 'insert into test_table(test1,test2) values(:arg1,:arg2)';
forall i in 1..5
execute immediate sql_str
using 2, 3;
总是提示execute这一行有问题
我用的是ORACLE8.1.7
...
END LOOP;
strSQL VARCHAR2(50);
BEGIN
dbms_output.put_line('test');
FOR i in 1..5 LOOP
strSQL := 'insert into mytest(allnumber,vTest)values(:ab,:bc)';
EXECUTE IMMEDIATE strSQL USING 1,2;
END LOOP;
END prc_test;
如:
declare
str varchar2(100):='begin insert into aa values(:a,:b); end;';
begin
forall i in 1..2
execute immediate str using 1,'1';
end;ORA-06550: 第 5 行, 第 1 列:
PLS-00435: 没有 BULK In-BIND 的 DML 语句在 FORALL 内不能使用SQL> declare
2 str varchar2(100):='begin insert into aa values(:a,:b); end;';
3 begin
4 for i in 1..2 loop
5 execute immediate str using 1,'1';
6 end loop;
7 end;
8 /PL/SQL procedure successfully completed所能楼主不要用forall,它只针对insert,update,delete语句有效
静态的INSERT我知道怎么用
楼上两位可能没明白我的意思,FORALL要比FOR循环的效率高很多