--如果是第一次執(zhí)行則先創(chuàng)建存儲(chǔ)過程 --如果不是第一次執(zhí)行則直接修改 就可以?;蛘咧苯诱{(diào)用 create proc Full_Search(@string nvarchar(500),@string2 nvarchar(500)) --alter proc dbo.Full_Search(@string nvarchar(500),@string2 nvarchar(500)) as begi
--如果是第一次執(zhí)行則先創(chuàng)建存儲(chǔ)過程
--如果不是第一次執(zhí)行則直接修改 就可以?;蛘咧苯诱{(diào)用
create proc Full_Search(@string nvarchar(500),@string2 nvarchar(500))
--alter proc dbo.Full_Search(@string nvarchar(500),@string2 nvarchar(500))
as
begin
declare @tbname varchar(500)
declare tbroy cursor for select name from sysobjects
where xtype= 'u ' --第一個(gè)游標(biāo)遍歷所有的表
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 ') --數(shù)據(jù)類型為字符型的字段
--where name in ('nvarchar ' ) --數(shù)據(jù)類型為字符型的字段
) --第二個(gè)游標(biāo)是第一個(gè)游標(biāo)的嵌套游標(biāo),遍歷某個(gè)表的所有字段
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
end
close colroy
deallocate colroy
fetch next from tbroy into @tbname
end
close tbroy
deallocate tbroy
end
go
--exec Full_Search 'mm','' 整庫替換函數(shù) 第一個(gè)參數(shù)是 被替換的數(shù)據(jù) ,第二個(gè)參數(shù)是替換后的數(shù)據(jù)
go
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com