1、脚本如下:
--分批提交脚本
declare
Type v_rowid is table of varchar2(100) index by binary_integer; --定义rowid类型
var_rowid v_rowid; --定义rowid变量
cursor v_cur is
select ROWID FROM t3;
BEGIN
OPEN v_cur;
loop
FETCH v_cur BULK COLLECT
INTO var_rowid LIMIT 5000;
FORALL i IN 1 .. var_rowid.count
insert into t2 select * from t3 where ROWID = var_rowid(i);
COMMIT;
EXIT WHEN v_cur%NOTFOUND OR v_cur%NOTFOUND IS NULL;
END LOOP;
CLOSE v_cur;
end;
2、脚本说明:
脚本中t2表为插入的目标表,t3为源表。每次提交5000条数据。
本文介绍了一种使用Oracle PL/SQL编写的批量数据迁移脚本,该脚本能够从源表t3中分批读取并提交数据到目标表t2,每次提交5000条记录,有效提高数据迁移效率。

6181

被折叠的 条评论
为什么被折叠?



