技术答疑.常用SQL.更新单据体序号
【应用场景】
单据体先有数据,后启用序号列,新的数据行会自动刷新序号,而历史数据是不会自动刷新序号的,需要手动刷新。
下面以流程配置中心为例,演示如何使用SQL脚本刷新序号列的数据。
单据体启用序号列:
历史数据,序号列全是0:
【实现步骤】
<1>登录星空数据中心所在数据库服务器,执行以下SQL刷新序号列数据。
-- 更新单行分录的单据体的序号 UPDATE T_WF_PRCLAUNCHCONFIG SET FSEQ = 1 WHERE FTMPID IN ( SELECT FTMPID FROM T_WF_PRCLAUNCHCONFIG GROUP BY FTMPID HAVING ( COUNT(*) = 1 ) ) -- 更新多行分录的单据体的序号(拷贝此查询语句生成的SQL并执行,即可实现单据体序号的刷新) -- SET a.FSEQ = b.ROWID -- 完全覆盖 -- SET a.FSEQ = CASE WHEN a.FSEQ=0 THEN b.ROWID ELSE a.FSEQ END -- 仅更新值等于0的序号 SELECT 'UPDATE a SET a.FSEQ = b.ROWID FROM T_WF_PRCLAUNCHCONFIG a JOIN ( SELECT ROW_NUMBER() OVER ( ORDER BY FTMPDETAILID ) AS ROWID , * FROM T_WF_PRCLAUNCHCONFIG WHERE FTMPID = '+CAST(FTMPID AS VARCHAR(50))+' ) b ON a.FTMPDETAILID = b.FTMPDETAILID' FROM T_WF_PRCLAUNCHCONFIG GROUP BY FTMPID HAVING ( COUNT(*) > 1 ) /* -- 更新序号示例SQL: UPDATE a SET a.FSEQ = b.ROWID FROM T_WF_PRCLAUNCHCONFIG a JOIN ( SELECT ROW_NUMBER() OVER ( ORDER BY FTMPDETAILID ) AS ROWID , * FROM T_WF_PRCLAUNCHCONFIG WHERE FTMPID = 100002 ) b ON a.FTMPDETAILID = b.FTMPDETAILID */
---------------------------------------------------------------------------------------------------------
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
技术答疑.常用SQL.更新单据体序号
【应用场景】单据体先有数据,后启用序号列,新的数据行会自动刷新序号,而历史数据是不会自动刷新序号的,需要手动刷新。下面以流程配置中...
点击下载文档
上一篇:二开案例.元模型.基础资料下一篇:二开案例.元模型.组织
本文2024-09-23 03:58:53发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-162338.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章