Sql server SQL-为表中具有匹配id的每条记录更新多条记录
我对更新多个记录有点陌生,我想知道解决这个问题的最佳方法,我正在编写一个存储过程,基本上我有两个表, 将服务器id与用户id相匹配的id 以及另一个表,其中包含每个用户id的记录信息,该表具有多个具有值的列 基本上是这样的: 获取tb_UserServerMap表中特定服务器id的所有匹配用户idSql server SQL-为表中具有匹配id的每条记录更新多条记录,sql-server,Sql Server,我对更新多个记录有点陌生,我想知道解决这个问题的最佳方法,我正在编写一个存储过程,基本上我有两个表, 将服务器id与用户id相匹配的id 以及另一个表,其中包含每个用户id的记录信息,该表具有多个具有值的列 基本上是这样的: 获取tb_UserServerMap表中特定服务器id的所有匹配用户id 然后tb_设置表中的foreach userId用新值更新列您不需要foreach 更新tblName set firstCol=val1,secondCol=val2,其中(id1,id2,id3)
然后tb_设置表中的foreach userId用新值更新列您不需要foreach
更新tblName set firstCol=val1,secondCol=val2,其中(id1,id2,id3)中的id将是存储过程的基本结构:
CREATE PROCEDURE Blah
@Server_ID int /* or whatever data type is appropriate */
as
UPDATE ts
SET
ColumnA = 10 /* New value for column A - maybe passed as a parameter? */
/* More columns here */
FROM
tb_setting ts
inner join
tb_UserServerMap usm
on
ts.user_id = usm.user_id
WHERE
usm.server_id = @Server_ID
如果不知道要更新的列的名称、这些值是如何获得的、数据类型等,我无法填写更多内容。如果包括表架构和您尝试实现的预期结果(之前/之后),您可以帮助获得更好的答案。请看一些投票率较高的相关问题,了解我的意思+1。我确信这个模板很好地表达了基本思想,并且很好地开始使用。