SQL如何在一个数据库中查询已知列名的所在表
SQL如何在一个数据库中查询已知列名的所在表,我已知道这个列名叫"Item_IDX",但是数据库表太多,太复杂了,我想如何可以通过指令,直接在已经数据库中找出含有这个列名...
SQL如何在一个数据库中查询已知列名的所在表,我已知道这个列名叫"Item_IDX",但是数据库表太多,太复杂了,我想如何可以通过指令,直接在已经数据库中找出含有这个列名的所有表
答的好的话,追加100分
SQLServer2000,不是Orical
不要让我打电话给你,或者QQ联系你,只是几句指令,写上就OK了,回答对了,都追100分 展开
答的好的话,追加100分
SQLServer2000,不是Orical
不要让我打电话给你,或者QQ联系你,只是几句指令,写上就OK了,回答对了,都追100分 展开
10个回答
展开全部
OBJECT_ID : 返回数据库对象标识号
例如:
use master
Select Object_Id(N'pubs..authors') //查看pubs数据库里的authors表的object_id对象标识号。
OBJECTPROPERTY : 返回当前数据库中对象的有关信息
语法 : OBJECTPROPERTY ( id , property )
例如:
OBJECTPROPERTY (object_id(N'authors') , N'ISTABLE') = 1
或
select * from dbo.sysobjects where Object_Id(N'myTable') AND OBJECTPROPERTY(id, N'IsTable') = 1
OBJECT_ID:返回数据库对象标识号。N是显式的将非unicode字符转成unicode字符,它来自 SQL-92 标准中的 National(Unicode)数据类型,用于扩展和标准化,在这里可以不用,写作object_id(PerPersonData)。
OBJECTPROPERTY:返回当前数据库中对象的有关信息。1表“真”。同样可以写成OBJECTPROPERTY(id, sUserTable) = 1。
整条语句的意思是判断数据库里有没有存在PerPersonData这样一张表。
整条语句可以简写成:
if exists (select * from sysobjects where objectproperty(object_id('PerPersonData'),'istable') = 1)
判断myTalbe对象是否是一个表。
If exists (select * from dbo.sysObjects
where id = Object_Id(N'myTable') and ObjectProperty(id, N'IsUserTable') = 1)
判断myProc对象是否是一个存储过程。
If exists (select * from dbo.sysObjects
where id = Object_Id(N'myProc') and ObjectProperty(id, N'IsProcedure') = 1)
判断myFun对象是否是一个自定义、标量值函数。
If exists (select * from dbo.sysObjects
where id = Object_Id(N'myFun') and ObjectProperty(id, N'IsScalarFunction') = 1)
判断myFun对象是否是一个表值函数。
If exists (select * from dbo.sysObjects
where id = Object_Id(N'myFun') and ObjectProperty(id, N'IsTableFunction') = 1)
其他更多ObjectProperty属性的 property 值参考
http://technet.microsoft.com/zh-cn/library/ms176105.aspx
例如:
use master
Select Object_Id(N'pubs..authors') //查看pubs数据库里的authors表的object_id对象标识号。
OBJECTPROPERTY : 返回当前数据库中对象的有关信息
语法 : OBJECTPROPERTY ( id , property )
例如:
OBJECTPROPERTY (object_id(N'authors') , N'ISTABLE') = 1
或
select * from dbo.sysobjects where Object_Id(N'myTable') AND OBJECTPROPERTY(id, N'IsTable') = 1
OBJECT_ID:返回数据库对象标识号。N是显式的将非unicode字符转成unicode字符,它来自 SQL-92 标准中的 National(Unicode)数据类型,用于扩展和标准化,在这里可以不用,写作object_id(PerPersonData)。
OBJECTPROPERTY:返回当前数据库中对象的有关信息。1表“真”。同样可以写成OBJECTPROPERTY(id, sUserTable) = 1。
整条语句的意思是判断数据库里有没有存在PerPersonData这样一张表。
整条语句可以简写成:
if exists (select * from sysobjects where objectproperty(object_id('PerPersonData'),'istable') = 1)
判断myTalbe对象是否是一个表。
If exists (select * from dbo.sysObjects
where id = Object_Id(N'myTable') and ObjectProperty(id, N'IsUserTable') = 1)
判断myProc对象是否是一个存储过程。
If exists (select * from dbo.sysObjects
where id = Object_Id(N'myProc') and ObjectProperty(id, N'IsProcedure') = 1)
判断myFun对象是否是一个自定义、标量值函数。
If exists (select * from dbo.sysObjects
where id = Object_Id(N'myFun') and ObjectProperty(id, N'IsScalarFunction') = 1)
判断myFun对象是否是一个表值函数。
If exists (select * from dbo.sysObjects
where id = Object_Id(N'myFun') and ObjectProperty(id, N'IsTableFunction') = 1)
其他更多ObjectProperty属性的 property 值参考
http://technet.microsoft.com/zh-cn/library/ms176105.aspx
展开全部
select table_name from all_tab_columns
where user = '你的用户' and column_name = ‘NAME列名’;
与列信息有关的3个数据字典user_tab_columns(当前用户所拥有的表列 ),all_tab_columns(可访问的表列),dba_tab_columns(所有表列)
ORACLE~~支持
where user = '你的用户' and column_name = ‘NAME列名’;
与列信息有关的3个数据字典user_tab_columns(当前用户所拥有的表列 ),all_tab_columns(可访问的表列),dba_tab_columns(所有表列)
ORACLE~~支持
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select tab.name
from syscolumns as col
inner join sysobjects as tab on col.id=tab.id
where col.name='Item_IDX'
from syscolumns as col
inner join sysobjects as tab on col.id=tab.id
where col.name='Item_IDX'
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在管理平台中打开指定的服务器和数据库,展开表,并右击要查看的表格。然后从弹出的快捷菜单中选择“属性”选项,会出现“表属性”对话框,常规页框会显示该表格的定义。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据库系统表中可以查到。SQLServer 和 Oracle 不一样,不知你问的是哪种数据库。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询