SQL SERVER 2008如何查询所有表中的一个关键词

SQL SERVER 2008如何在一个数据库的所有表所有列中查找一个关键词,例如:我想在一个学校数据库WHS的20张表中找到“上课时间”,怎样可以用一条语句查遍所有表所有列里所包含这个词,或者教我怎样能把所有的表整合到一起,之后从这一张表中查询这个关键词,我是个新手,请前辈多多指教,谢谢!!!

查询一个数据库中所有的数据中是否包含指定字符串
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
温馨提示:答案为网友推荐,仅供参考
相似回答