2011-02-10 133 views
0

我在更新多個記錄方面有點新,我想知道最好的方法去解決這個問題,我正在寫一個存儲過程基本上我有兩個表, 一個匹配一個服務器ID到用戶ID 和另一個表與每個用戶ID的記錄信息與多列與值。SQL - 用表中匹配的ID更新每個記錄的多個記錄

基本上這裏是它會如何工作的:

獲取所有匹配的用戶ID爲特定的服務器ID在tb_UserServerMap表 在tb_setting表,然後的foreach用戶id用新值更新的列

+0

可以幫助獲得更好的答案,如果你包含了你的表格模式和你想要實現的結果(之前/之後)。看看我的意思是 – keith

回答

0

你不需要在foreach,

更新tblName設置firstCol = VAL1,secondCol = VAL2其中id在你的存儲過程(ID1,ID2,ID3)

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 

我不能填寫更多的是不知道列的名稱進行更新,這些值是如何獲得的,數據類型等

+0

+1的一些較高的投票相關問題。我相信這個模板提供了很好的基本思路,並且很好的入門。 –