找回密码
 立即注册
CeraNetworksBGVM服务器主机交流IP归属甄别会员请立即修改密码
查看: 66|回复: 9

想在mssql查询一条数据..在哪里个表里,.这句子怎样写

[复制链接]

32

主题

77

回帖

386

积分

中级会员

积分
386
发表于 2018-8-20 15:03:30 | 显示全部楼层 |阅读模式
如查询 张三
在mssql 里 "饭堂" 数据库里有N个表...我想知道张三在哪几个表出现了,这句子怎样写?
回复

使用道具 举报

14

主题

150

回帖

386

积分

中级会员

积分
386
发表于 2018-8-20 15:06:56 | 显示全部楼层
select * from table1 where a='张三'
select * from table2 where a='张三'
..

select * from tableN where a='张三'


回复

使用道具 举报

28

主题

106

回帖

444

积分

中级会员

积分
444
发表于 2018-8-20 15:50:00 | 显示全部楼层
等于要查询整个数据库?不可能吧
回复

使用道具 举报

24

主题

609

回帖

2103

积分

金牌会员

积分
2103
发表于 2018-8-20 15:47:58 | 显示全部楼层
本帖最后由 funders 于 2018-8-20 15:59 编辑

我知道 但是没有金币就不告诉你
算了 不要金币了

[ol]
  • declare @key varchar(30)
  • set @key = 'admin' --要查找的字符串
  • declare @tabName varchar(40),@colName varchar(40)
  • declare @sql varchar(2000)
  • declare @tsql varchar(8000)
  • declare tabCursor cursor for
  • select name from sysobjects where xtype = 'u' AND name  'dtproperties' --查询所有用户表的名称
  • open tabCursor
  • fetch NEXT from tabCursor into @tabName
  • while @@fetch_status = 0
  • begin
  • set @tsql = ''
  • declare colCursor cursor for
  • select name from SysColumns where id=Object_Id(@tabName) and xtype=167 and length=50 --查询所有用户表的列名称
  • open colCursor
  • fetch NEXT from colCursor into @colName
  • while @@fetch_status = 0
  • begin
  • set @sql = 'if(exists(select * from ' + @tabName + ' where '
  • set @sql = @sql + @colName + ' like ''%' + @key + '%'')) begin select * from '
  • set @sql = @sql + @tabName + ' where ' + @colName + ' like ''%' + @key + '%'';select '''
  • + @tabName + ''' as TableName end'
  • set @tsql = @tsql + @sql + ';'
  • fetch NEXT from colCursor into @colName
  • end
  • exec(@tsql)
  • close colCursor
  • deallocate colCursor
  • fetch NEXT from tabCursor into @tabName
  • end
  • close tabCursor
  • deallocate tabCursor[/ol]复制代码

    不用谢
  • 回复

    使用道具 举报

    100

    主题

    735

    回帖

    2702

    积分

    金牌会员

    积分
    2702
    发表于 2018-8-20 15:56:02 | 显示全部楼层

    funders 发表于 2018-8-20 15:56

    我知道 但是没有金币就不告诉你
    算了 不要金币了

    大佬啊..真是可爱
    回复

    使用道具 举报

    32

    主题

    77

    回帖

    386

    积分

    中级会员

    积分
    386
     楼主| 发表于 2018-8-20 16:13:05 | 显示全部楼层

    funders 发表于 2018-8-20 15:56

    我知道 但是没有金币就不告诉你
    算了 不要金币了


    谢了...

    700多个表....

    我刚用写了个工具穷举...

    “bw_tab_fielddesc”, 用时75秒
    回复

    使用道具 举报

    32

    主题

    77

    回帖

    386

    积分

    中级会员

    积分
    386
     楼主| 发表于 2018-8-20 15:56:00 | 显示全部楼层

    funders 发表于 2018-8-20 15:56

    我知道 但是没有金币就不告诉你
    算了 不要金币了

    刚试了..没有返回结果 就一句 命令已成功完成。

    这个要怎样搞
    回复

    使用道具 举报

    137

    主题

    248

    回帖

    1611

    积分

    金牌会员

    积分
    1611
    发表于 2018-8-20 16:27:53 | 显示全部楼层
    这个操作很皮啊。  初期把数据库结构给做丑了吗?

    回复

    使用道具 举报

    24

    主题

    609

    回帖

    2103

    积分

    金牌会员

    积分
    2103
    发表于 2018-8-20 15:56:00 | 显示全部楼层

    vpswz 发表于 2018-8-20 16:29

    刚试了..没有返回结果 就一句 命令已成功完成。

    这个要怎样搞

    不应该啊,把脚本里admin替换成你要找的字符串,我之前用这个绝对可以的
    回复

    使用道具 举报

    32

    主题

    77

    回帖

    386

    积分

    中级会员

    积分
    386
     楼主| 发表于 2018-8-20 16:29:50 | 显示全部楼层

    funders 发表于 2018-8-20 16:34

    不应该啊,把脚本里admin替换成你要找的字符串,我之前用这个绝对可以的


    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|HS2V主机综合交流论坛

    GMT+8, 2024-5-21 04:40 , Processed in 0.063045 second(s), 3 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表