SqlServer触发器更新累加

业务描述:
想通过SqlServer写触发器实现,有两个表A,B,表A和表B有先后关系,表B数据由表A数据生成,想实现当表的B指定字段值变更或插入时,根据匹配条件更新反写另表A的指定字段的值(值是文本),多次更新的话将值累加
第一次表B更新返回表A的值

img

第二次表B更新返回表A的值

img


依次累加,如果没有多次就一个,
表A与表B反写更新匹配条件为B.源单编号=A.单据编号 and B.销售单号=A.销售单号 and B.客户=A.客户三个条件符合的更新
请问这样通过SqlServer触发器如何实现

回答:你的这个效果并不难实现,而且逻辑也非常清晰了。但是有一点我不是很理解,就是这个A表和B表字段基本一致,只是B表的字段:文本值的内容为单个值,而A表为多个值,采用逗号分隔;那么实际上完全可以通过A表即可代替B表的功能,因为A表里面可以存放信息,然后你需要查看谁的话,直接拿到数据,然后采用字符串分隔即可,这样不是更容易吗。当然,如果你的这个只是一个功能展示,实际上还有别的字段和逻辑在里面,那这个设计也行,采用触发器实现也不困难;需要解决的问题是SQL Server里面找到一个和StringBuilder功能一样的函数:CONCAT()
参考这篇文章:https://blog.csdn.net/fuzhijieabc/article/details/120747482
对于SQL Server的触发器和基本语句的使用,参考这篇文章:https://blog.csdn.net/weixin_42765557/article/details/114596510

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 关于该问题,我找了一篇非常好的博客,你可以看看是否有帮助,链接:sqlserver 异常处理

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^