SQL SERVER找出所有TABLE中特定欄位名稱的所有TABLE,再利用CONCAT組成更新或刪除的SQL指令,然後再整批更新資料
SQL SERVER找出所有TABLE中特定欄位名稱的所有TABLE,再利用CONCAT組成更新或刪除的SQL指令。
SELECT concat( 'update ',
a.TABLE_SCHEMA , '.' , a.TABLE_NAME ,' set sales=100030913 where sales=','100023287'
)
FROM INFORMATION_SCHEMA.TABLES a
LEFT JOIN INFORMATION_SCHEMA.COLUMNS b
ON a.TABLE_NAME = b.TABLE_NAME
WHERE a.TABLE_TYPE = 'BASE TABLE'
AND a.TABLE_NAME Like '%%' -- 資料表名稱
AND b.COLUMN_NAME Like '%sales%' -- 資料表欄位名稱
再利用查詢出來的結果一次性執行SQL指令,可大幅縮短查找TABLE的時間。
留言
張貼留言