当前位置:数据库 > SQLServer >>

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

答案:以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]  
 
--*/

上一个:SQL Server中的模式匹配
下一个:从动态SQL中返回值

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,