Как получить соответствующие таблицы для определенного имени столбца в SQL Server? - PullRequest
1 голос
/ 21 октября 2011

Я хочу найти весь соответствующий список таблиц, где columnname = 'Letter'?

Спасибо

Ответы [ 4 ]

6 голосов
/ 21 октября 2011
SELECT TABLE_SCHEMA,
       TABLE_NAME
FROM   INFORMATION_SCHEMA.COLUMNS
WHERE  COLUMN_NAME = 'Letter'  
1 голос
/ 21 октября 2011
  select 
  type_desc,
  sch.name as 'schema name',
  obj.name as 'table', 
  col.name as columnname,
  ty.name as  columntype,
  col.max_length as columnmaxlength,
  is_identity
  from  sys.objects obj 
  inner join sys.all_columns col
  on obj.object_id = col.object_id
  inner join sys.schemas sch
  on obj.schema_id = sch.schema_id
  inner join sys.types ty
  on col.system_type_id = ty.system_type_id 
 where type ='U'
 and col.name like '%letter%'
 order by type_desc,sch.name, obj.name, col.name
1 голос
/ 21 октября 2011
select TABLE_NAME
from INFORMATION_SCHEMA.COLUMNS
where COLUMN_NAME = 'Letter'
0 голосов
/ 21 октября 2011

Над кодом вы получите ТАБЛИЦЫ, а также ВИДЫ. Чтобы исключить ВИДЫ

SELECT C.TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS C,INFORMATION_SCHEMA.TABLES T
WHERE C.TABLE_NAME=T.TABLE_NAME AND C.COLUMN_NAME = 'YOUR_COLUMN_NAME'
AND T.TABLE_TYPE='BASE TABLE'
...