掃描二維碼關注

首頁 APP開(kāi)發小(xiǎo)程序開(kāi)發 微信公衆号 網站建設 營銷推廣 經典案列 産品服務 關于我們

“學習(xí)不僅是掌握知識”

向書(shū)本學習(xí),還要向實踐學習(xí)、向生活學習(xí)。消化已有(yǒu)知識,
而且要力求有(yǒu)所發現、有(yǒu)所發明(míng)、有(yǒu)所創造

替換SQL Server數據庫中所有(yǒu)表的(de)所有(yǒu)字段的(de)某些内容

2019/3/15 11:48:38

替換SQL Server數據庫中所有(yǒu)表的(de)所有(yǒu)字段的(de)某些内容

方法一:

exec    sp_msforeachtable   @command1=N'  
   declare    @s    nvarchar(4000),@tbname    sysname  
   select    @s=N'''',@tbname=N''?''  
   select    @s=@s+N'',''+quotename(a.name)+N''=replace(''+quotename(a.name)+N'',N''''aa'''',N''''bb'''')''  
   from    syscolumns    a,systypes    b  
   where    a.id=object_id(@tbname)    
   and    a.xusertype=b.xusertype  
   and    b.name    like    N''%char''  
   if    @@rowcount>0  
   begin  
   set    @s=stuff(@s,1,1,N'''')  
   exec(N''update   ''+@tbname+''    set   ''+@s)  
   end'

方法二:

declare @t varchar(255),@c varchar(255)
declare table_cursor cursor for
select a.name,b.name from sysobjects a,syscolumns b ,systypes c
where a.id=b.id and a.xtype='u' and c.name in (--這裏是要替換的(de)類型
'char', 'nchar', 'nvarchar', 'varchar','text','ntext' --這裏如(rú)果你(nǐ)的(de)text(ntext)類型沒有(yǒu)超過8000(4000)長度,才可(kě)以使用(yòng)
)
declare @str varchar(500),@str2 varchar(500)
--這裏是你(nǐ)要替換的(de)原字符
set @str='aa'
--這裏是你(nǐ)要替換的(de)新字符
set @str2='bb'
open table_cursor fetch next from table_cursor into @t,@c
while(@@fetch_status=0)
begin
    exec('update [' + @t + '] set [' + @c + ']=replace(cast([' + @c + '] as varchar(8000)),'''+@str+''','''+ @str2 +''')')
    fetch next from table_cursor into @t,@c
end
close table_cursor
deallocate table_cursor;  


深圳市南山區南山街(jiē)道南海(hǎi)大(dà)道西(xī)桂廟路(lù)北陽光(guāng)華藝大(dà)廈1棟4F、4G-04

咨詢電話(huà):136 8237 6272
大(dà)客戶咨詢:139 0290 5075
業(yè)務QQ:195006118
技術(shù)QQ:179981967

更多可(kě)以了解的(de)信息

客戶案列
新聞資訊
資質榮譽
團隊風采
項目進度查詢

售前QQ咨詢
QQ溝通 項目QQ溝通

精銳軟件(jiàn)

Copyright© 2018-2023 深圳市無窮大軟件技術有限公司 All Rights Reserved. 京ICP證000000号 公安備案号:粵公網安備44030502009460号