按块提交抽取数据
Posted singworld
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了按块提交抽取数据相关的知识,希望对你有一定的参考价值。
CREATE OR REPLACE PROCEDURE SP_DM_OUTPAT_FEE_DOC_D_3 AS
CURSOR cur IS
SELECT *
FROM CDINFO.CLINIC_CLASS_DICT@zyhdc236;
TYPE rec IS TABLE OF CDINFO.CLINIC_CLASS_DICT@zyhdc236%ROWTYPE;
recs rec; -- --- 声明需要集合类型及变量,参照字段的 type 来声明类型
BEGIN
OPEN cur;
WHILE (TRUE) LOOP
FETCH cur BULK COLLECT ---游标逐行获取,按块收集
INTO recs LIMIT 100; ----recs 相当于一个容器
FORALL i IN 1 .. recs.COUNT --遍历集合
INSERT INTO CDINFO.CLINIC_CLASS_DICT VALUES recs (i);---i表示所有行数
COMMIT;
EXIT WHEN cur%NOTFOUND; ----没找到数据退出 ,否则死循环
END LOOP;
CLOSE cur;
END;
以上是关于按块提交抽取数据的主要内容,如果未能解决你的问题,请参考以下文章
[mybatis]动态sql_sql_抽取可重用的sql片段