create or replace procedure proc_nsr_jbxx
is swglm number; CURSOR cur IS SELECT * FROM nsr_base_info;
CURSOR cur_person IS SELECT * FROM nsr_base_person t where t.pk_no=swglm;
begin FOR i in cur LOOP swglm := i.pk_no for j in cur_person insert into values(.....);
end loop; end loop;
end;我是通过第一个循环,把swglm取得,根据swglm获得cur_person游标,第二个循环,insert表数据
这样的速度太慢了。。请问这么在第一个循环(8000条记录)时把swglm记录下来,然后传给cur_person 这个游标的sql语句,CURSOR cur_person IS SELECT * FROM nsr_base_person t where t.pk_no=swglm;where t.pk_no in (.......);
高手现身啊。急
is swglm number; CURSOR cur IS SELECT * FROM nsr_base_info;
CURSOR cur_person IS SELECT * FROM nsr_base_person t where t.pk_no=swglm;
begin FOR i in cur LOOP swglm := i.pk_no for j in cur_person insert into values(.....);
end loop; end loop;
end;我是通过第一个循环,把swglm取得,根据swglm获得cur_person游标,第二个循环,insert表数据
这样的速度太慢了。。请问这么在第一个循环(8000条记录)时把swglm记录下来,然后传给cur_person 这个游标的sql语句,CURSOR cur_person IS SELECT * FROM nsr_base_person t where t.pk_no=swglm;where t.pk_no in (.......);
高手现身啊。急
解决方案 »
- 11G RAC 运行正常,但是voting disk少了一块,有遇到这种情况的吗?
- Oracle occi createConnection连接失败
- 请教高手
- wrap 加密存储过程的问题
- oracle listener无法启动?
- 建立触发器问题
- 如果用命令启动OracleOraHome90TNSListenerXXXXX,OracleServiceYYYYY这两个服务呢?
- 无法删除oraclei9I下的inventory目录,请问是什么原因
- 有一个关于Oracle的问题,希望大家帮忙解决一下,谢谢
- toad连接oracle的问题
- 水晶报表的SQL表达式哪里错了,请大侠帮忙看看
- 表字段太多导致查询变慢应怎么解决?
insert into T select * from nsr_base_person t2 where exists (select null from nsr_base_info t1 where t1.pk_no=t2.pk_no);
CURSOR cur_person IS SELECT t.* FROM nsr_base_person t,nsr_base_info i where t.pk_no=i.pk_no; --(确保 I.PK_NO 没有重复记录)
就好
想双循环的话也只有你这样的写法
可以直接sql来
insert into tb SELECT a.* FROM nsr_base_person a,nsr_base_info b where a.pk_no=b.pk_no