为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【问题描述】*:例如把ACCT表中1月份的数据插入到ACCT_2022表,这样的存储过程怎么写,求大神指教。
DECLARE
CURSOR CUR FOR SELECT * FROM “SYSDBA”.“ACCT” where time between ‘xx’ and ‘xx’;
TYPE TY_CUR IS TABLE OF CUR%ROWTYPE;
VV TY_CUR;
BEGIN
OPEN CUR;
LOOP
EXIT WHEN CUR%NOTFOUND;
FETCH CUR BULK COLLECT INTO VV LIMIT 10000;
FORALL I IN 1…VV.COUNT()
INSERT INTO “SYSDBA”.“ACCT_2022” VALUES VV(I);
COMMIT;
END LOOP;
commit;
CLOSE CUR;
END;
–之前写过使用游标的分批方式把结果集插入到另一张表中,看看能不能满足,这个是10000行一提交
可以insert into ACCT_2022 select xx,xx from ACCT where 时间条件;