2015-06-03 325 views
0

我需要編寫一個查詢值:重複的記錄,併爲該列名

  1. 發現的所有數據庫中列名的所有實例
  2. 重複所有包含此列名稱的記錄會根據該列名稱的值更改列名稱的值。

所以輸入會的ColumnName,ColumnNameValue,ColumnNameNewValue

我發現這個查詢這裏http://sqlserverplanet.com/dba/find-column-in-all-databases返回查詢我需要的第一部分,但我不知道如何去約做第2部分...

編輯:

與第2部分是我想要做的就是找到所有匹配ID和不同的ID複製它們在同一個表中的記錄

因此,例如,我有這個表:

column1 column2 
1   aaa 
2   bbb 
2   ccc 
3   ddd 

我希望腳本查找包含「列1」(這是在第1部分完成),然後找出所有具有值的記錄中的所有表「1」爲列1,和複製一個新的ID「99」的記錄,所以其結果必然是

column1 column2 
1   aaa 
2   bbb 
2   ccc 
3   ddd 
99   bbb 
99   ccc 
+0

獲得#2幫助的問題是,你沒有解釋你正在嘗試做什麼。嘗試解釋你想做得更清楚,我們可以提供幫助。 –

回答

0

你有兩種選擇,查詢信息模式對每個數據庫,然後聯合在一起的結果

select * from db1.information_Schema.columns 
union all 
select * from db2.information_Schema.columns 

或使用無證sp_MSforeachdb功能

EXEC sp_MSforeachdb 'select * from information_Schema.columns' 

當然,作爲無證,它可能會改變,停止工作或無法正常工作,首先,這樣你就需要接受這種風險。