Как Ilist таблицы на основе имени столбца в Sybase? - PullRequest
15 голосов
/ 03 января 2011

Как мне перечислить все таблицы в базе данных, которые содержат столбец с заданным именем?

Ответы [ 3 ]

22 голосов
/ 16 марта 2011

Попробуйте это:

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

это то, что вы искали?

3 голосов
/ 11 января 2017

Вы также можете использовать хранимую процедуру sp_columns.

sp_columns @column_name = '%column_name%'

Дополнительная информация здесь: SyBooks Online (получение справки по объектам базы данных)

2 голосов
/ 10 мая 2017

Приведенный ниже запрос также можно использовать для получения столбца имя_таблицы.

Это поможет пользователю определить таблицу, к которой относится имя столбца.

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
...