FineBI增量更新代码问题,SQLSERVER数据库,执行增量代码提示错误,帮忙看一下~

select zb.FCREATETIME 审批开始时间

,zb.FCOMPLETEDTIME 审批结束时间

,zb.fbillnumber 单据编号

,zbl.FASSIGNNAME 审批节点

,mxl.FRESULTNAME 审批意见

,yh.FNAME 审批人

,P1.FNUMBER 审批人工号

,mx.FTITLE 事项

,lclb.FNAME 流程类别

,org.FNAME 发起人组织

,fqr.FNAME 发起人

,e2.FNUMBER 发起人工号

    ,lcsl.fcreatetime 发起日期

    ,case when zb.finststatus = 1 then '完成' when zb.finststatus = 2 then '运行中' when zb.finststatus = 3 then '挂起' when zb.finststatus = 4 then '终止' when zb.finststatus = 5 then '暂停' else '其他' end 流程状态 

from v_wf_PMAssignEndHis zb/*审批归档*/

left join v_wf_PMReceiverItemEndHis mx on mx.FASSIGNID = zb.FASSIGNID

left join v_wf_PMAssignEndHis_L zbl on zb.FASSIGNID = zbl.FASSIGNID and zbl.FLOCALEID = 2052 

left join v_wf_PMReceiverItemEndHis_L mxl on mxl.freceiveritemid = mx.freceiveritemid and mxl.FLOCALEID = 2052

left join T_SEC_user yh on yh.FUSERID = mx.FRECEIVERID

left join t_BD_Person P1 ON yh.FLINKOBJECT = P1.FPERSONID

    left join T_HR_EmpInfo E1 ON P1.FPERSONID = E1.FPERSONID

left join T_WF_TEMPLATE_L lclb on lclb.FTMPID = zb.FTMPID and lclb.FLOCALEID = 2052

left join T_WF_TEMPLATE lc on lc.FTMPID = zb.FTMPID

left join T_ORG_ORGANIZATIONS_L org on org.FORGID = lc.FORGID and org.FLOCALEID = 2052

left join T_WF_PROCINSTHIS lcsl on lcsl.FNUMBER = zb.finstcode

left join T_SEC_user fqr on fqr.FUSERID = lcsl.FORIGINATORID

left join t_BD_Person P2 ON fqr.FLINKOBJECT = P2.FPERSONID

    left join T_HR_EmpInfo E2 ON P2.FPERSONID = E2.FPERSONID

where mx.fstatus !=3

and zb.FCREATETIME >convert(datetime, '​上次更新时间​',120)

order by zb.fbillnumber

FineBI 帆软用户Olh73ML6qy 发布于 2025-5-8 15:34
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
用户k6280494Lv6专家互助
发布于2025-5-8 15:37
最佳回答
0
FR-LeonLv4初级互助
发布于2025-5-8 16:10
一、SQL Server增量更新常见问题
  1. 主键冲突问题当增量更新涉及主键字段时,可能出现类似中描述的Cannot parallelize an UPDATE statement错误。建议检查:

    • 是否对自增ID主键执行了更新操作

    • 是否在填报属性中错误设置了主键字段

  2. 排序规则冲突若出现PRIMARY KEY约束报错(如所述),需确认:


    -- 检查数据库排序规则

    SELECT name, collation_name FROM sys.databases WHERE name = '您的数据库名'

    如为Chinese_PRC_CI_AS(不区分大小写),建议改为Chinese_PRC_CS_AS

二、SQL语句优化建议
  1. 补全语句完整性您提供的SQL末尾存在未闭合的JOIN条件:


    left join T_HR_EmpInfo E1 ON P1.FPERSONID =

    -- 缺少关联条件和结束符号
  2. 增量字段检查确保zb.FCREATETIME等时间字段在增量逻辑中正确使用:

    WHERE zb.FCREATETIME > '上次更新时间'
三、系统级排查
  1. 多工程共用数据库如所述,检查是否存在多个工程共用同一FineDB的情况:


    -- SQL Server查询连接进程

    SELECT program_name, hostname FROM sys.sysprocesses

    WHERE program_name LIKE '%Fine%'

建议先修正SQL语句完整性,再依次排查上述问题点。如需进一步分析,请提供完整的错误信息。

  • 3关注人数
  • 42浏览人数
  • 最后回答于:2025-5-8 16:10
    请选择关闭问题的原因
    确定 取消
    返回顶部