C/C++教程

Oracle快速拷贝数据

本文主要是介绍Oracle快速拷贝数据,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

游标拷贝数据

根据条件进行数据拷贝

-- 游标方式拷贝数据
DECLARE
CURSOR cur IS
SELECT * FROM JACKPOT WHERE TO_CHAR(JACKPOT.CREATE_TIME,'yyyy-mm-dd') >= '2021-08-01' AND TO_CHAR(JACKPOT.CREATE_TIME,'yyyy-mm-dd') <= '2021-08-23';--定义游标(aa换成你自己表名)
TYPE rec IS TABLE OF JACKPOT%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 JACKPOT_6 VALUES recs (i);--插入目标表(bb替换成你目标表名)
COMMIT; --提交
EXIT WHEN cur%NOTFOUND;--游标结束条件
END LOOP; --停止循环
CLOSE cur;--关闭游标
END;

 

这篇关于Oracle快速拷贝数据的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!