周一至周五 : 08:30 - 17:30 客服专员电话/微信:18049979371 QQ:2982200781
微信咨询

扫码微信咨询

关注公众号

关注微信公众号

电话: 021 5161 9370
返回顶部
新增修改删除系统用户时同步新增修改删除自定义模板的人员信息表
显示全部楼层 倒序浏览 发表日期 2023-09-11 17:08:17 384次阅读 0次回复

新增修改删除系统用户时同步新增修改删除自定义模板的人员信息表


需求:在快表系统设置中有用户模块,可以实现对使用系统的员工的管理。同时业务模块中会有认识模块,其中必不可少的就是人员信息表了。当我们在系统管理用户管理中为全员建立了系统数据,同时也要对自定义的人员信息表进行数据维护,目前想实现在系统用户管理中新增用户时,人员信息表自动增加该用户,修改该用户信息时人员信息表中的数据同步修改,同样如果删除此用户时人员信息表中的数据也同步删除。

实现:此需求是为了维持数据完整性,防止对数据的不正确和不一致的改变。可以采用SQLServer触发器实现强制业务逻辑和数据完整性的统一。

方法:分别用三种基本的触发器类型来实现Insert类型、update类型、delete类型




INSERT类型:当用户管理中新建用户时,人员信息表也插入一条记录。

  1. CREATE TRIGGER [dbo].[SyncUserI]
  2.    ON  [dbo].[SYS_USER]
  3.    AFTER INSERT
  4. AS
  5. BEGIN
  6. INSERT INTO T_1936 (ID,F_65471,F_65472,F_65473,F_65474,F_65475,F_65476) SELECT UUID,USERNAME,LOGINNAME,USERMOBILE,USEREMAIL,WDID,UUID FROM INSERTED
  7. END
  8. GO
复制代码
T_1936为人员信息表表名,F_开头的字段为自定义的字段,分别对应后面的用户ID,用户姓名,登录名,手机,邮箱,微信钉钉接口ID,用户ID


UPDATE类型:当用户管理中修改用户时,人员信息表也对该用户做同步的修改。
  1. CREATE TRIGGER [dbo].[SyncUserU]
  2.    ON  [dbo].[SYS_USER]
  3.    AFTER UPDATE
  4. AS
  5. BEGIN
  6. UPDATE T_1936 SET F_65471=USERNAME,F_65472=LOGINNAME,F_65473=USERMOBILE,F_65474=USEREMAIL,F_65475=WDID FROM SYS_USER WHERE  UUID = ID
  7. END
  8. GO
复制代码




DELETE类型:当用户管理中删除用户时,人员信息表也同步删除此用户。
  1. CREATE TRIGGER [dbo].[SyncUserD]
  2.    ON  [dbo].[SYS_USER]
  3.    AFTER DELETE
  4. AS
  5. BEGIN
  6. DECLARE @DELID AS VARCHAR(50)
  7. SELECT @DELID =  UUID FROM DELETED
  8. DELETE FROM T_1936 WHERE ID = @DELID
  9. END
  10. GO
复制代码



上面的脚本均未创建触发器的脚本,如果可以依据自己的实际人员信息表中的字段进行修改后创建。创建后如果要修改可以在数据库管理器SYS_USER表中展开触发器节点选中要修改的触发器名称点击修改。


电话/微信:18049989370 QQ:857188287
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则  允许回帖邮件提醒楼主

快表软件是国内较早研究表格类软件开发平台的团队之一,迄今已有十多年的行业经验.致力于为企事业单位提供实用可靠的数字化平台。
  • 微信公众号

  • 微信小商店

  • 微信客服

  • Powered by Discuz! X3.4 | Copyright © 2022-2024, XiRong Soft. | 快表软件
  • 沪ICP备13033196号 | 营业执照 |上海西戎软件科技有限公司|沪公网安备31011502002146号|沪ICP备13033196号 |