作者bchoice (choice)
看板Database
標題[SQL ] update整個資料表
時間Thu Dec 17 17:43:31 2020
資料庫名稱:SQL SERVER
資料庫版本:2017
內容/問題描述:
因為資料庫內多達數十個資料表D
有甚麼方式可以將資料庫的所有資料表內,
只要值含有「統一獅」的都改成「統一」
感謝各位!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.39.107.119 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Database/M.1608198213.A.A08.html
※ 編輯: bchoice (114.39.107.119 臺灣), 12/17/2020 17:59:08
1F:推 funk6478: sys.tables和sys.all_columns做join 得到所有欄位和表 12/17 18:55
2F:→ funk6478: 然後可以在select那邊組合好你的update語法 12/17 18:57
3F:→ funk6478: 宣告一個變數 把查詢結果丟進去 跑exec sp_executesql 12/17 18:59
5F:→ funk6478: 我是組合成select 改成update的形式就好 12/17 19:05
其實我幾乎不會資料庫語法,但是又必須更改這些東西
不好意思
請問有更簡單的方法嗎?
7F:→ funk6478: 把use那邊改成你使用的資料庫名稱 下面都一樣 12/17 23:08
8F:→ funk6478: 查詢的結果複製出來去執行 應該就可以了 12/17 23:10
謝謝
查詢結果有顯示語法了
但是有個另外的問題,有些欄位不是字串nvarchar
可能是int或data就會出錯
然後就要一一排除
我跑出來有1000多行語法
請問可以只針對欄位型態是nvarchar才顯示查詢結果嗎
T_T
※ 編輯: bchoice (59.120.116.250 臺灣), 12/18/2020 09:42:16
9F:→ funk6478: 我有回你信了 改用INFORMATION_SCHEMA.Columns這張表 12/18 10:29
10F:→ funk6478: 裡面有直接顯示DATA_TYPE的名稱 比較直觀 12/18 10:30