sybase中如何根据列名列出表?

Posted

技术标签:

【中文标题】sybase中如何根据列名列出表?【英文标题】:How do Ilist tables based on column name in sybase? 【发布时间】:2011-06-02 17:48:53 【问题描述】:

如何列出数据库中包含具有给定名称的列的所有表?

【问题讨论】:

你能说得更具体点吗?您想要一个表中的列列表,还是要查找包含列的所有表或其他内容? 【参考方案1】:

试试这个:

select distinct object_name(id)
from syscolumns
where name = 'my_column_name'
order by object_name(id)

或者这样:

select distinct so.name
from syscolumns sc
  , sysobjects so
where sc.id = so.id
and   sc.name = 'my_column_name'
order by so.name

这就是你一直在寻找的吗?

【讨论】:

【参考方案2】:

您也可以使用 sp_columns 存储过程。

sp_columns @column_name = '%column_name%'

更多信息在这里:SyBooks Online (Getting Help On Database Objects)

【讨论】:

【参考方案3】:

以下查询也可用于获取 column_name 和 table_name。

这将帮助用户识别 column_name 所属的表。

select distinct tbl_col.name as Field_name,tbl_object.name as Table_name
from syscolumns tbl_col
  , sysobjects tbl_object
where tbl_col.id = tbl_object.id
order by tbl_object.name

【讨论】:

无价之宝。谢谢。 确实是无价之宝【参考方案4】:

试试这个:

sp_columns @column_name = '%column_name%'

【讨论】:

以上是关于sybase中如何根据列名列出表?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 .hdf5 文件表中提取列名并根据指定的列名提取特定行数据?

如何根据列名查找表名,然后访问该表

声明的表变量上的动态 Select 语句 - SYBASE

oracle中如何根据多个表创建表

SQL中如何根据字段名查找该字段名存在于数据库的哪些表中?

根据表名/列名,注释名 来搜索到自己想得到的表