日期:2014-05-18  浏览次数:20393 次

只知道一个值,不知道是哪个字段和哪张表的,请问该如何查询?
只知道有一个值,且在数据库是唯一的,现在想找到那个值所在的字段和表,请问如何做?谢谢!

表太多了,没有办法一个一个的找。

------解决方案--------------------
把条件和范围缩小
1.你不知道在哪个表中,应该大概有个范围吧

2.你不知道在哪个字段(列),应该知道是什么类型吧

3.你什么都不知道,为什么知道是唯一的,所以说这个值还是有自己的特点,把它的特点分析一下,然后在有可能出现的表中把它找出来应该是有可能,就像是一列数字排序不是也有很多种算法吗?


------解决方案--------------------
create procedure proc_t1
@name varchar(100) = null
as
if @name is null
begin
print '@name value is null ' --打出一条消息
return --从程序中退出
end
else
select o.name from sysobjects o where name like @name --查询当前数据库中
的特定表
exec proc_t1 'a% '
你查查看有那syscolumns的系统函数

------解决方案--------------------
肯定有难度
先利用sysobjects循环用户表,再利用syscolumns把所有的字段(除掉binary等字段以外的字段)
再convert把所有字段转换为字符型,最好用Like查询

别说做,说起来都有点麻烦,要是知道数据类型那就要好办多了