ORACLE把一张表的数据复制到另外一张表
假如原表叫aa,目标表bb
DECLARE
CURSOR cur IS
SELECT * FROM aa;--定义游标(aa换成你自己表名)
TYPE rec IS TABLE OF aa%ROWTYPE;--定义类型(这里的aa也要替换成你自己表名)
recs rec;
BEGIN
OPEN cur; --打开游标
WHILE (TRUE) LOOP --循环条件
FETCH cur BULK COLLECT --取游标里的值
INTO recs LIMIT 10000; --提交条件,每10000条提交
FORALL i IN 1 .. recs.COUNT --这个是个计数器,用来确保提交的条数,也是循环
INSERT INTO bb VALUES recs (i);--插入目标表(bb替换成你目标表名)
COMMIT; --提交
EXIT WHEN cur%NOTFOUND;--游标结束条件
END LOOP; --停止循环
CLOSE cur;--关闭游标
END;