组织间结算报错:MERGE 语句试图多次更新或删除同一行。目标行与多个源行匹配时会出现这种情况。MERGE 语句无法多次更新/删除目标表的同一行原创
3人赞赏了该文章
2,576次浏览
编辑于2019年04月26日 09:13:58
报错内容:会计核算体系【财务会计核算体系】,MERGE 语句试图多次更新或删除同一行。目标行与多个源行匹配时会出现这种情况。MERGE 语句无法多次更新/删除目标表的同一行。请简化 ON 子句,以确保目标行最多与一个源行匹配,也可以使用 GROUP BY 子句对源行分组。 MERGE INTO #TM_IOS_MIDSETTLEDATA TM USING(SELECT DISTINCT TMS.FUNIQUEID, ST.FCurrencyId, STD.FMarkKey, STD.FBIZFORMID, STD.FBizEntryId, STD.FBaseQTY, STD.FPrice, STD.FCONFIGID, ST.FIsIncludedTax, STD.FTaxPrice, STD.FTaxRate, STD.FIsFreeGift FROM T_IOS_ARSETTLEMENT ST INNER JOIN T_IOS_ARSETTLEMENTDETAIL STD ON ST.FID = STD.FID INNER JOIN T_IOS_MIDSETTLE TMS ON (((STD.FBizEntryId = TMS.FUpDownEntryId AND STD.FBIZFORMID = TMS.FUpDownFormID) AND STD.FCONFIGID = TMS.FUPDOWNCONFIGID) AND TMS.FCONTEXTGUID = '0e929a494b9542b0ab785530683413dc') WHERE ST.FACCTSYSTEMID = 1) T_ReciveST ON (T_ReciveST.FUNIQUEID = TM.FGID) WHEN MATCHED THEN UPDATE SET TM.FReciveMarkKey = T_ReciveST.FMarkKey, TM.FRecCurrencyId = T_ReciveST.FCurrencyId, TM.FRecivePrice = T_ReciveST.FPrice, TM.FReciveIsIncludedTax = T_ReciveST.FIsIncludedTax, TM.FReciveTaxPrice = T_ReciveST.FTaxPrice, TM.FReciveTaxRate = T_ReciveST.FTaxRate, TM.FIsFreeGift = T_ReciveST.FIsFreeGift; 在 Kingdee.BOS.App.Data.AbstractDatabase.ExecuteNonQuery(DbCommand command, IEnumerable`1 listParam) 在 Kingdee.BOS.App.Data.DBUtils.ExecuteWithTime(Context ctx, String strSQL, IEnumerable`1 paramList, Int32 commandTimeout) 在 Kingdee.K3.SCM.App.IOS.Core.CreateOverOrgAccount.CreateSettleData(Context ctx) 在 Kingdee.K3.SCM.App.IOS.Core.CreateOverOrgAccount.BeforeSaveData(IOSCreateResult iosCreateResult) 在 Kingdee.K3.SCM.App.IOS.Core.OverOrgAccountService.SaveSettle(Context ctx, IOSSettleParams iosParams) 解决方法:使用提示中的SQL代码,查询出相关数据,找到重复的数据,在查询到对应的单据编号 到前台删除【本次重新单据:应付结算清单】 【查询相关数据时,当前的报错界面不要退出】 使用错误提示中的SQL代码【SELECT DISTINCT TMS.FUNIQUEID, ST.FCurrencyId, STD.FMarkKey, STD.FBIZFORMID, STD.FBizEntryId, STD.FBaseQTY, STD.FPrice, STD.FCONFIGID, ST.FIsIncludedTax, STD.FTaxPrice , STD.FTaxRate, STD.FIsFreeGift,'----',ST.* FROM T_IOS_ARSETTLEMENT ST INNER JOIN T_IOS_ARSETTLEMENTDETAIL STD ON ST.FID = STD.FID INNER JOIN T_IOS_MIDSETTLE TMS ON STD.FBizEntryId = TMS.FUpDownEntryId AND STD.FBIZFORMID = TMS.FUpDownFormID AND STD.FCONFIGID = TMS.FUPDOWNCONFIGID AND TMS.FCONTEXTGUID = '54c61a36c27344fda52dfdfb231e49af' WHERE ST.FACCTSYSTEMID = 1】 |
赞 3
3人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读
您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!
请选择打赏金币数 *
10金币20金币30金币40金币50金币60金币
可用金币: 0