MERGE STATEMENT ORA-30926: unable to get a stable set of rows in the source
959406Feb 21 2013 — edited Jan 30 2020hi all
transactional table issue both equal condition(ie on clause common row not any) not avilable what can i do_+ in this merge statement CORM_IRT_INV_RESOURCE_Tmp and PEG6_WRDT_RES_DTS_TMP (both temp/transaction table) .
error are display oracle - ORA-30926: unable to get a stable set of rows in the source
i ask both table common any thing AVAILABLE USING on clause
ANY SOLUTION PLZ PROVIDE ME
MERGE INTO CORM_IRT_INV_RESOURCE_Tmp A
USING (SELECT DISTINCT * FROM PEG6_WRDT_RES_DTS_TMP) B
ON ( B.WRDT_GUID = A.IRT_GUID
AND B.WRDT_DOCUMENT_NO = A.IRT_ORDER_NO
AND B.WRDT_DOCUMENT_OU = A.IRT_ORDER_OU
AND B.WRDT_REF_LINE_NO = A.IRT_REF_LINE_NO
AND B.WRDT_TASK_LINE_NO = A.IRT_LINE_NO
AND B.WRDT_RESOURCE_NO = A.IRT_RESOURCE_CODE
AND B.WRDT_RES_TYPE = A.IRT_RESOUCE_TYPE
AND A.IRT_GUID = v_Guid_Tmp
AND A.IRT_ORDER_NO = v_cusorderno_Tmp
AND A.IRT_ORDER_OU = v_COrderOU_Tmp)
WHEN MATCHED THEN UPDATE SET A.IRT_NORMALRATE_PERHR = B.WRDT_RATE_PER_HR,
A.IRT_OTRATE_PERHR = B.WRDT_OVERTIME_RATE_PER_HR,
A.irt_facilityrate_perhr = b.wrdt_std_fac_rate,
A.irt_resource_price = --sqlserver_utilities.round_(NVL(IRT_BILLABLE_HR_NO, 0) * NVL(B.WRDT_RATE_PER_HR, 0), v_pamt_tmp) + sqlserver_utilities.round_(NVL(IRT_BILLABLE_HR_OT, 0) * NVL(B.WRDT_OVERTIME_RATE_PER_HR, 0), v_pamt_tmp),
round(NVL(IRT_BILLABLE_HR_NO, 0) * NVL(B.WRDT_RATE_PER_HR, 0), v_pamt_tmp) + round(NVL(IRT_BILLABLE_HR_OT, 0) * NVL(B.WRDT_OVERTIME_RATE_PER_HR, 0), v_pamt_tmp),
A.IRT_SERVICE_PRICELIST = B.WRDT_SER_PRLIST,
A.IRT_REVISION_NO = B.WRDT_SER_PRL_REVNO,
A.IRT_EFFECTIVE_TILLDATE = B.WRDT_SER_PRL_EFF_DATE,
A.IRT_BILLABLE_MISCPRICE = B.wrdt_misc_cost;
EXCEPTION WHEN OTHERS THEN NULL;*/
Edited by: 956403 on 21 Feb, 2013 5:55 AM