--如果是第一次執行則先創建存儲過程 --如果不是第一次執行則直接修改 就可以?;蛘咧苯诱{用 create proc Full_Search(@string nvarchar(500),@string2 nvarchar(500)) --alter proc dbo.Full_Search(@string nvarchar(500),@string2 nvarchar(500)) as begi
--如果是第一次執行則先創建存儲過程
--如果不是第一次執行則直接修改 就可以?;蛘咧苯诱{用
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 ' --第一個游標遍歷所有的表
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
end
close colroy
deallocate colroy
fetch next from tbroy into @tbname
end
close tbroy
deallocate tbroy
end
go
--exec Full_Search 'mm','' 整庫替換函數 第一個參數是 被替換的數據 ,第二個參數是替換后的數據
go
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com