特定の名前の列を含むデータベース内のすべてのテーブルをリストするにはどうすればよいですか?
これを試して:
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
それはあなたが探していたものですか?
Sp_columnsストアドプロシージャを使用することもできます。
sp_columns @column_name = '%column_name%'
以下のクエリを使用して、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
これを試して:
sp_columns @column_name = '%column_name%'