【发布时间】:2021-04-24 00:42:44
【问题描述】:
我有一张简单的表,比如:
表 A:
| Id | Role |
|---|---|
| 1 | Admin |
| 2 | Member |
| 3 | Reviewer |
| 4 | Contributor |
| 5 | Champion |
| 6 | Casual |
| 7 | Manager |
我有两个参数,一个是
@Id Nvarchar(max) = '1,2,3' 将包含我需要更新的所有 ID 的值。
@Roles Nvarchar(max)='Member,Casual,Manager' 将映射到上面的 @Ids。
所以基本上,我想用值 Member 更新 Id 1,用 Casual 更新 Id 2,用 Manager 更新 Id 3。
结果应该是:
| Id | Role |
|---|---|
| 1 | Member |
| 2 | Casual |
| 3 | Manager |
| 4 | Contributor |
| 5 | Champion |
| 6 | Casual |
| 7 | Manager |
我在想split_string和@Ids and @Roles,找到内连接表,循环更新,但不知道在SQL server中如何实现。
我很想听听有关如何在 SQL 服务器中实现它的任何反馈或方法。
谢谢。
【问题讨论】:
-
阅读文档。如下文所述,string_split 不保证您的方法所要求的顺序。如果您通过了 TVP,则不需要任何这些,您只需加入即可。所以更好的问题是为什么你将“元组”作为单独的数组传递。
-
根据问题指南,请展示您的尝试并告诉我们您发现了什么(在本网站或其他地方)以及为什么它不能满足您的需求。
标签: sql-server split sql-update