我遇到了一个问题,我的日志文件在我的合并完成之前就已经填满了。有没有办法我可以迭代这个合并,一次合并1000,提交,然后重新开始?这是我的合并声明:
MERGE INTO "SCHEMA"."PATIENT" AS DMT
USING "SCHEMA"."PATIENT_STAGE" AS Stage
ON ( DMT.MEMBER_ID = Stage.MEMBER_ID)
when matched then
update set
DMT.MEMBER_ID = Stage.MEMBER_ID,
DMT.ADDRESS1 = Stage.ADDRESS1,
DMT.ADDRESS2 = Stage.ADDRESS2,
DMT.BENEFIT_ID = Stage.BENEFIT_ID,
DMT.CITY = Stage.CITY,
DMT.STATE = Stage.STATE,
DMT.CLIENT_CLIENT_ID = Stage.CLIENT_CLIENT_ID,
DMT.CLIENT_CUSTOMER_ID = Stage.CLIENT_CUSTOMER_ID,
DMT.CLIENT_GROUP_ID = Stage.CLIENT_GROUP_ID,
DMT.DATE_OF_BIRTH = Stage.DATE_OF_BIRTH,
DMT.FIRST_NAME = Stage.FIRST_NAME,
DMT.GENDER = Stage.GENDER,
DMT.LAST_NAME = Stage.LAST_NAME,
DMT.MIDDLE_NAME = Stage.MIDDLE_NAME,
DMT.PERSON_CODE = Stage.PERSON_CODE,
DMT.SSN = Stage.SSN,
DMT.TPL_PAYOR = Stage.TPL_PAYOR,
DMT.TPL_PRIM_NAME = Stage.TPL_PRIM_NAME,
DMT.UPDATE_DATE = Stage.UPDATE_DATE;
COMMIT;
答案 0 :(得分:0)
这似乎解决了我的问题:
num=1 ; while ((num < 100000)) ; do
MERGE INTO "SCHEMA"."PATIENT" AS DMT
USING "SCHEMA"."PATIENT_STAGE" AS Stage
update set
DMT.MEMBER_ID = Stage.MEMBER_ID,
DMT.ADDRESS1 = Stage.ADDRESS1,
DMT.ADDRESS2 = Stage.ADDRESS2,
DMT.BENEFIT_ID = Stage.BENEFIT_ID,
DMT.CITY = Stage.CITY,
DMT.STATE = Stage.STATE,
DMT.CLIENT_CLIENT_ID = Stage.CLIENT_CLIENT_ID,
DMT.CLIENT_CUSTOMER_ID = Stage.CLIENT_CUSTOMER_ID,
DMT.CLIENT_GROUP_ID = Stage.CLIENT_GROUP_ID,
DMT.DATE_OF_BIRTH = Stage.DATE_OF_BIRTH,
DMT.FIRST_NAME = Stage.FIRST_NAME,
DMT.GENDER = Stage.GENDER,
DMT.LAST_NAME = Stage.LAST_NAME,
DMT.MIDDLE_NAME = Stage.MIDDLE_NAME,
DMT.PERSON_CODE = Stage.PERSON_CODE,
DMT.SSN = Stage.SSN,
DMT.TPL_PAYOR = Stage.TPL_PAYOR,
DMT.TPL_PRIM_NAME = Stage.TPL_PRIM_NAME,
DMT.UPDATE_DATE = Stage.UPDATE_DATE(select........where <> fetch 1st 1000 rows only )
(num=num+1)
done