web-dev-qa-db-ja.com

sybaseの列名に基づいてテーブルをリストするにはどうすればよいですか?

特定の名前の列を含むデータベース内のすべてのテーブルをリストするにはどうすればよいですか?

17
heena

これを試して:

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

それはあなたが探していたものですか?

24
B0rG

Sp_columnsストアドプロシージャを使用することもできます。

sp_columns @column_name = '%column_name%'

詳細はこちら: SyBooks Online(データベースオブジェクトのヘルプの取得)

4
Mike

以下のクエリを使用して、table_nameとともにcolumn_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
3
Amol

これを試して:

sp_columns @column_name = '%column_name%'
0
Raunak Jhawar