xjqqxjqq(JAI) 方法可以。
for i in 1 .. 2
loop
open cur_city_id;
LOOP
fetch cur_city_id into v_city_code;
exit when cur_city_id%notfound;
......
END LOOP;
close cur_city_id;
commit;
end loop; 不知道还有什么更好的方法,期待......
for i in 1 .. 2
loop
open cur_city_id;
LOOP
fetch cur_city_id into v_city_code;
exit when cur_city_id%notfound;
......
END LOOP;
close cur_city_id;
commit;
end loop; 不知道还有什么更好的方法,期待......
你这个方法我是知道的,我的问题是如果table1里的任一条记录不在table2里那么就把这条记录插入到table2里
我的SQL里面也是用的你写的那两个循环,按你的说法我要打开100W次游标,是不是很耗时?
后来我写了一个脚本,都运行两天还没有完成;
INSERT INTO ly_mapping (ID,REGION_UUID,REGION_NAME,SITE_UUID,SITE_NAME,ROOM_UUID,ROOM_NAME,NE_UUID,NE_NAME,CARD_UUID,CARD_NAME,PORT_UUID,PORT_NAME,SPECIALITY,DEVICE_TYPE,NMS_DEVICE_CODE,NMS_DEVICE_DESC,NMS_SYSCODE,LAST_MODIFY_DATE,STATUS)
select seq_global.nextval, u1.REGION_UUID,u1.REGION_NAME,u1.SITE_UUID,u1.SITE_NAME,u1.ROOM_UUID,u1.ROOM_NAME,u1.NE_UUID,u1.NE_NAME,null,null,null,null,u1.SPECIALITY,u1.DEVICE_TYPE,null,null,null,sysdate,1
from ly_res_name u1
WHERE u1.SPECIALITY=1 AND u1.DEVICE_TYPE=3 AND u1.NE_UUID NOT IN
(SELECT t1.NE_UUID FROM ly_mapping t1 WHERE t1.SPECIALITY=1 AND t1.DEVICE_TYPE=3);