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的時間。

留言

這個網誌中的熱門文章

java BigDecimal 加減乘除,四捨五入,四則運算及比較

MS sqlServer資料庫移轉至MySQL-->利用MySQL WorkBench

java 數字轉字串 字串轉數字