sql-server – 以多对多关系进行更新

前端之家收集整理的这篇文章主要介绍了sql-server – 以多对多关系进行更新前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个多对多表,用于存储用户可以拥有的每个允许角色的记录.如果用户更新了他的角色(添加删除)角色,我该如何处理?

我应该首先删除所有用户角色,然后添加所选用户角色吗?或者进行某种匹配?

解决方法

有很多方法可以让这只猫皮肤光滑,我可以想到几种技巧:

1.删​​除所有角色并重新插入
这是一种直截了当的方法.删除用户的所有角色,然后重新插入.通常,用户只属于少数角色(少于10个).此外,很有可能没有其他外键链接到这个多对多表.

2.跟踪更改并仅应用更改
这是更多的工作,但更有效,即使在这种情况下只是稍微.像ORM这样的工具可以轻松跟踪和应用这些类型的更改.

3.在用户进行更改时应用更改
在这种情况下,我假设应用数据库更改是可以接受的,因为最终用户用户与角色相关联.也许它是一个本地数据库,每个事务都是短暂的.但我想这是不太可能的情况.

我不认为删除和重新插入此特定情况有任何问题.

猜你在找的MsSQL相关文章