SQL语句求助,进来看看吧!!!MSSQLSERVER2005根据字段值查询该字段所在的表名

我现在有一个表A其中有字段“B_ID”参照表B的“ID”字段,但是我现在数据库中表太多了,无法发现B表的名称,请大家帮忙写一个存储过程或者sql语句来完成此功能,小弟不甚感激!!!
P.S:根据字段名查找表名我知道怎么写,所以请注意我的问题是根据“字段值”来查找表名,我在网上搜过,没有发现什么有用的东西,希望大家给出给力解答,另祝热心的朋友兔年大吉!!
因为表A的字段名“B_ID”和表B的字段名“ID”不一样,所以要根据“B_ID“的字段值来查找表B的名称,”ID“是表B的主键,我明白这个工作量会有点大,所以如果有写出来的,我会追分的!
这个。。。。您最后这句话吓着我了
我这个数据库中有将近5000张表,很多表的数据记录都是以万为单位的,这样的数据量能用吗?会出现什么后果?
不能用的话,但我又确实需要找出这张表的名称,有什么其他办法吗?

http://hi.baidu.com/wangzhiqing999/blog/item/f4a8456659df8fd2e6113a0d.html

SQL查询案例:不知道表名的情况下,整个数据库找某个字符信息

注意:如果你的数据库里面的数据很多,请勿使用这个存储过程,会出事的,哈哈。

这个意思就是, 假如你的 数据库, 是生产的数据库, 数据量大,且7x24小时不断更新的。那么那个存储过程,会非常占用你的服务器资源, 搞得不好,就把服务器拖垮了.

如果要安全一点的话,就修改一下顺序, 手动的检索 表名。
结果就是 5000 个表名。

再修改/或者创建一个存储过程,查字段名,拼SQL 查询的。
然后 在服务器空闲的时候, 一小批一小批的处理。

因为 5000张表+不知道多少千万的数据, 全部执行了, 就不知道什么时候能结束了。
所以手动一点点处理。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-15
有一个表A其中有字段“B_ID”参照表B的“ID”字段:参照是什么意思?值一样吗?
如果一样的话,说说我的想法:
一、先找到数据库中有ID字段的表名清单
二、根据清单中的每个表名称 拼成SQL语句,来查询这个表的ID字段是否有某个字段值,比如“select count(1) from “+表名+" where id='指定值'”,有:记录表名称,没有:用下个表名称查询;
三、重复二,使用多个不同字段值来过滤表名称
相似回答