資料庫全文搜尋批量替換字串

2021-08-24 18:32:14 字數 1645 閱讀 7084

--如果是第一次執行則先建立儲存過程

--如果不是第一次執行則直接修改 就可以。或者直接呼叫

create proc full_search(@string nvarchar(500),@string2 nvarchar(500))

--alter proc dbo.full_search(@string nvarchar(500),@string2 nvarchar(500))

asbegin

declare @tbname varchar(500)

declare tbroy cursor for select name from sysobjects

where xtype= 'u ' --第乙個游標遍歷所有的表

open tbroy

fetch next from tbroy into @tbname

while @@fetch_status=0

begin

declare @colname varchar(50)

declare colroy cursor for select name from syscolumns

where id=object_id(@tbname) and xtype in (

select xtype from systypes

where name in ( 'varchar ', 'nvarchar ', 'char ', 'nchar ') --資料型別為字元型的字段

--where name in ('nvarchar ' ) --資料型別為字元型的字段

) --第二個游標是第乙個游標的巢狀游標,遍歷某個表的所有字段

open colroy

fetch next from colroy into @colname

while @@fetch_status=0

begin

declare @sql nvarchar(1000),@j int

exec( 'update ' +@tbname + ' set '+@colname+' = replace('+@colname+','+ ''''+@string+ ''', '+ ''''+@string2+ ''');')

--print( 'update ' +@tbname + ' set '+@colname+' = replace('+@colname+','+ ''''+@string+ ''', '+ ''''+@string2+ ''');')

-- exec( 'select distinct '+@colname+' from ' +@tbname + ' where '+ @colname+ ' like '+ '''%'+@string+ '%''')

fetch next from colroy into @colname

endclose colroy

deallocate colroy

fetch next from tbroy into @tbname

end

close tbroy

deallocate tbroy

end

go --exec full_search 'mm','' 整庫替換函式 第乙個引數是 被替換的資料 ,第二個引數是替換後的資料

go

linux sed 批量替換字串

一月 21,2014 no comments linux下批量替換多個檔案中的字串的簡單方法。用sed命令可以批量替換多個檔案中的字串。命令如下 sed i s 原字串 新字串 g grep 原字串 rl 所在目錄 例如 我要把 charset gb2312 替換為 charset utf 8,執行...

linux sed 批量替換字串

inux下批量替換多個檔案中的字串的簡單方法。用sed命令可以批量替換多個檔案中的字串。命令如下 sed i s 原字串 新字串 g grep 原字串 rl 所在目錄 解釋一下 i 表示inplace edit,就地修改檔案 r 表示搜尋子目錄 l 表示輸出匹配的檔名 這個命令組合很強大,要注意備份...

linux sed 批量替換字串

linux下批量替換多個檔案中的字串的簡單方法。用sed命令可以批量替換多個檔案中的字串。命令如下 sed i s 原字串 新字串 g grep 原字串 rl 所在目錄 例如 我要把 charset gb2312 替換為 charset utf 8,執行命令 sed i s charset gb23...