慧表临时表回写物理表实现批量修改,能实现,简单和稳定性仅次于映射法
- 2022-05-18 20:49:00
- 微图 原创
- 1020
前言
几乎每个系统都会涉及批量修改操作。新增的话,通常用自带导入功能或者新开个物理明细表批量新增数据,常应用在系统初始化过程中。初始化之后在系统使用过程中,会不定时逐行新增,之后有时会有批量修改的需求。此时批量回写修改从是否共用批量新增模板来分有2中选择,共用新增模板;另1种是另起模板。下表比较2者优缺点:
比较 |
优点 | 缺点 |
共用新增模板表 | 模板总数少 | 和原始新增数据混合,执行前得先把后逐行新增的数据提过来,区分后改的,才能执行回写修改,逻辑有点长且复杂 |
另起模板 | 和新增模板分离,保持原始新增数据不变,分类修改所有数据,逻辑清晰,权限、交互各自控制 | 多1模板 |
基于以上比较,另起模板方案优点较多,本文选用另起模板方式实现批量修改。
本文主要涉及的模板路径
h.weitue.com:7788
admin
教程
一.思路
二.实现过程
1.复制-映射品类模板
2.映射表-改成:临时表
3.开高阶,存后刷新
4.绑定前台表
4.1主表
--查出所有品类 with t as( select row_number() over(partition by 类ID order by ID) as 类N ,* from 产品表 with(nolock) ) select * from t where 类N = 1
构建视图v品类
绑定前台表(这里为简单,把品类字段删除,只留品类ID字段)
给权限,就可以在前台查看了
4.2.明细表
主、明细表类ID字段都勾选自定义报表标识
各自过滤出来了
5.回写公式
6.按钮执行回写公式
7.优化交互和显示
三.总结
回写修改法 |
优点 | 缺点 |
和纯粹映射法比 |
保留RecordID表单标识作用。后台也没新增任何物理表 |
得构建前台表和回写公式 |
和先删后插法比 |
不浪费RecordID号 |
四.应用实例
设备管理
--v设备类型 --先按设备类型分类,RecordIDID由小到大排序 with t as ( select row_number() over(partition by 设备类型 order by RecordID) as RN ,设备类型 ,'批量修改设备' as 模板 ,[RecordID] ,[CreateUser] ,[CreateOrg] ,[CreateTime] ,[EditingUser] ,[LastEditUser] ,[LastEditTime] ,[ReportStatus] ,[LockStatus] ,[WorkflowStatus] from 设备表 with(nolock) ) --找出RN=1的就是唯一的设备类型 select * from t where RN = 1