我对更新多个记录有点新意,我想知道最好的方法继续解决此问题,我正在写一个存储过程基本上我有两个表, 将服务器标识与用户标识匹配的标识 和另一个表,其中包含每个用户ID的记录信息,其中包含多个带值的列。
基本上这是它的运作方式:
获取tb_UserServerMap表中特定服务器ID的所有匹配用户ID 然后使用tb_setting表中的foreach userId更新具有新值的列
答案 0 :(得分:1)
存储过程的基本结构如下:
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 :(得分:0)
你不需要foreach,
更新tblName设置firstCol = val1,secondCol = val2其中id为(id1,id2,id3)