SQL SERVER 2008 如何查询含有某关键词的表

最新文章Virson's Blog

文章来自:百度知道

/**
  查询一个数据库中所有的数据中是否包含指定字符串
*/

declare @str varchar(100)
set @str='字符串' --要搜索的字符串 
declare @s varchar(8000)
declare tb cursor local for
select s='if exists(select 1 from ['+b.name+'] where convert(varchar,['+a.name+']) like ''%'+@str+'%'')
 print ''select top 5 ['+a.name+'],* from ['+b.name+']'''
from syscolumns a join sysobjects b on a.id=b.id
where b.xtype='U' and a.status>=0--所查列的字段类型
 and a.xusertype in(175,239,231,167,56,60,108,106)
open tb
fetch next from tb into @s
while @@fetch_status=0
begin
 exec(@s)
 fetch next from tb into @s
end
close tb
deallocate tb

 

posted @ 2015-04-01 15:24  学海无涯1999  阅读(1213)  评论(0编辑  收藏  举报