我在更新多個記錄方面有點新,我想知道最好的方法去解決這個問題,我正在寫一個存儲過程基本上我有兩個表, 一個匹配一個服務器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