Oracle数据库分批插入数据的脚本

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011192409/article/details/83059263

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条数据。

猜你喜欢

转载自blog.csdn.net/u011192409/article/details/83059263