知道一个值jjfda,如何查找它在那个表,那个字段

发表于:2007-06-08来源:作者:点击数: 标签:
以Pubs为例,我现在知道一个值,jjfda,但是不知道他在哪个表哪个字段 请问可以实现查询吗? --------------------------------------------------------------- --测试 declare @str varchar(100) set @str='White' --要搜索的字符串 declare @s varchar(8000
以Pubs为例,我现在知道一个值,‘jjfda’,但是不知道他在哪个表哪个字段  
请问可以实现查询吗?  
---------------------------------------------------------------  
 
--测试  
 
declare  @str  varchar(100)  
set  @str='White'    --要搜索的字符串  
 
declare  @s  varchar(8000)  
declare  tb  cursor  local  for  
select  s='if  exists(select  1  from  ['+b.name+']  where  ['+a.name+']  like  ''%'+@str+'%'')  
           print  ''所在的表及字段:  ['+b.name+'].['+a.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)  
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  
 
/*--测试结果  
 
所在的表及字段:  [authors].[au_lname]  
 
--*/

原文转自:http://www.ltesting.net