【存储过程】由表名查数据库名,亲测有效

declare  @tbname sysname
   set  @tbname= '表名'
   declare  @dbname sysname,@sql nvarchar(4000),@re  bit ,@sql1  varchar (8000)
   set  @sql1= ''
   declare  tb  cursor  for  select  name  from  master..sysdatabases
   open  tb 
    fetch  next  from  tb  into  @dbname
   while @@fetch_status=0
   begin
   set  @sql= 'set @re=case when exists(select 1 from ['
   +@dbname+ ']..sysobjects where xtype=' 'U' ' and name=' ''
   +@tbname+ '' ') then 1 else 0 end'
   exec  sp_executesql @sql,N '@re bit out' ,@re  out
   if @re=1  set  @sql1=@sql1+ ' union all select ' '' +@dbname+ '' ''
   fetch  next  from  tb  into  @dbname
   end
   close  tb
   deallocate  tb
   set  @sql1= substring (@sql1,12,8000)
   exec (@sql1) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值