我在更新多个记录方面有点新,我想知道最好的方法去解决这个问题,我正在写一个存储过程基本上我有两个表, 一个匹配一个服务器ID到用户ID 和另一个表与每个用户ID的记录信息与多列与值。SQL - 用表中匹配的ID更新每个记录的多个记录
基本上这里是它会如何工作的:
获取所有匹配的用户ID为特定的服务器ID在tb_UserServerMap表 在tb_setting表,然后的foreach用户id用新值更新的列
我在更新多个记录方面有点新,我想知道最好的方法去解决这个问题,我正在写一个存储过程基本上我有两个表, 一个匹配一个服务器ID到用户ID 和另一个表与每个用户ID的记录信息与多列与值。SQL - 用表中匹配的ID更新每个记录的多个记录
基本上这里是它会如何工作的:
获取所有匹配的用户ID为特定的服务器ID在tb_UserServerMap表 在tb_setting表,然后的foreach用户id用新值更新的列
你不需要在foreach,
更新tblName设置firstCol = VAL1,secondCol = VAL2其中id在你的存储过程(ID1,ID2,ID3)
基本结构将是:
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的一些较高的投票相关问题。我相信这个模板提供了很好的基本思路,并且很好的入门。 –
可以帮助获得更好的答案,如果你包含了你的表格模式和你想要实现的结果(之前/之后)。看看我的意思是 – keith