在sqlserver数据库中查询所有表的任意字段中某个值(例如值为a)




CREATE TABLE qResults (tName nvarchar(370), cname nvarchar(3630),[count] int)

declare @tname nvarchar(200)
declare @cname nvarchar(200)

declare @countOut nvarchar(200)
declare @sql nvarchar(max)
declare c_search cursor for
select t.name,c.name from sysobjects t inner join syscolumns c on t.id=c.id where t.type='u'  and c.xtype in(56,167,175,231,239) order by t.name --xtype 这个地方限制类型为int varchar char nvarchar nchar
open c_search
fetch next from c_search into @tname,@cname
while @@FETCH_STATUS=0
begin
  
   set @sql=N'select @countx=COUNT(*) from '+@tname +' where [' +@cname +'] =''a' '
  
   print @sql
   EXECUTE sp_executesql @sql,N'@countx nvarchar(200) out ', @countx=@countOUT OUT

   insert into qResults values (@tname,@cname,@countOUT)

  
   fetch next from c_search into @tname,@cname
end
select tName 'Table',cname 'Field' from qResults where [count]>0 order by tname
close c_search
deallocate c_search

drop table qResults
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值