作者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/cn.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