我按书上的例子写的,编译通不过
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
解决方案 »
- 用wm_concat合并字段,不想group by所有字段怎么办?
- 请问我这句有错误吗
- 新人求助,谁能贴一下ORACLE的所有字段类型!
- Manual invocation of ./init.crsd is not supported
- 这个查询的SQL怎么写?
- 如何判断在ORACLE中一字段是否是某表的主键
- 装好pl/sql后登陆时 Username,password,database connect as都该如何填呀?在线等待!谢谢!
- oracle8倍份的奇怪问题!
- dual表是什么东西?
- select to_date('22-FEB-98','DD-MON-YY') from dual;为什么不正确
- 请教个SQL查询问题,请帮忙,多谢了
- oracel 很多不会,谁来教我
...
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循环的效率高很多