日期:2014-05-19  浏览次数:20598 次

如何查询某个字段在数据库中的所有表的集合
我想用SQL查询某个字段在数据库中出现在哪些表中,该如何处理?
        比如,存货编码是Invcode,我想知道在这个数据库中有那些表中有Invcode这个字段。

------解决方案--------------------
select object_name(id) from syscolumns where name= 'Invcode '
------解决方案--------------------
select b.name from syscolumns a inner join sysobjects b on a.id=b.id where a.name= 'id ' and b.xtype= 'u '
------解决方案--------------------
select object_name(id) from syscolumns where name= 'Invcode '
解释下
syscolumns 为系统表
------解决方案--------------------
select * from sysobjects where id in (select id from syscolumns where name= '列名 ')
--结果集name为表名
------解决方案--------------------
select OBJECT_NAME(ID) from syscolumns where [name]= 'Invcode '
------解决方案--------------------
select a.name from sysobjects a inner join syscolumns b on a.id=b.id where b.name= 'Invcode '

------解决方案--------------------
1
select * from sysobjects a,syscolumns b where a.id=b.id and b.name= '列名 '

2
select object_name(id) from syscolumns where name= '列名 '
------解决方案--------------------
select * from sysobjects where id in (select id from syscolumns where name= 'Invcode ')