Как мне перечислить все таблицы в базе данных, содержащие столбец с заданным именем?
Как перечислить таблицы на основе имени столбца в sybase?
Ответ 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 (Получение справки по объектам базы данных)
Ответ 3
Следующий запрос может быть использован для получения имени_ column_ с именем таблицы.
Это поможет пользователю идентифицировать таблицу, которой принадлежит имя 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