有个存储过程,入参为表名,存储过程里通过dblink将表数据从远程库insert到本库的表里,数据为空间数据,本来是想使用以下这种写法:
OPEN mycur;
LOOP
FETCH mycur BULK COLLECT INTO rowid_table LIMIT 5000;
EXIT WHEN rowid_ = 0;
FORALL i IN rowid_ .. rowid_ /> INSERT INTO xxxx s elect * f rom xxxx WHERE ROWID=rowid_table(i);
COMMIT;
END LOOP;
CLOSE mycur;
这种写法可以批量insert到多条数据,但是后来发现这种写法不支持insert到远程库的数据,所以改成了FOR i IN rowid_ .. rowid_ 然后一条条将数据insert进去,这样的话就会非常慢,想优化下。现在使用的存储过程语句见附件
雇主
发布需求
威客
报名竞价
雇主
选择中标
雇主
托管赏金
威客
在线工作
雇主
验收付款
任务圆满完成
为保障雇主与服务商的共同权益,任务结束后稿件详情将不对外展示!