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;
异构
CREATE OR REPLACE PROCEDURE SP_DM_OUTPAT_FEE_DOC_D_3 AS
CURSOR cur IS
SELECT org_code,
item_class,
item_class_name,
upper_class,
sysdate,
null
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(a,
b,
c,
d,
e,
f
) VALUES(sys_guid(),
recs (i).item_class,
recs (i).item_class_name,
recs (i).upper_class,
sysdate,
null
);---i表示所有行数
COMMIT;
EXIT WHEN cur%NOTFOUND; ----没找到数据退出 ,否则死循环
END LOOP;
CLOSE cur;
END;