赞
踩
- declare @Str nvarchar(max), @tableName varchar(50), @colName varchar(50), @rowCount int
-
- select a.name tableName, b.name Colname, 0 as IsFound into #t1
- from sysobjects a join syscolumns b on a.id=b.id join systypes c on b.xtype=c.xtype
- where a.[type]='U' and c.name in ('varchar', 'nvarchar', 'char', 'nchar') --这里是设置字段的类型,以缩小范围
-
- declare _c1 cursor for select Colname, tableName from #t1
- open _c1
- fetch next from _c1 into @colName, @tableName
- while @@FETCH_STATUS=0 begin
- --print @Str
- select @Str='select @rowCount=count(1) from ['+@tableName+'] where ['+@colName+'] like ''%keywords%''' --这里是要查找的内容
- exec sp_executesql @Str, N'@rowCount int output', @rowCount output
- if @rowCount>0 update #t1 set IsFound=1 where ColName=@colName and tableName=@tableName
- fetch next from _c1 into @colName, @tableName
- end
- close _c1
- deallocate _c1
- select * from #t1 where IsFound=1
- drop table #t1
tableName:表名
Colname:列名
IsFound:找到的个数
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。