В Microsoft SQL, если я хочу, чтобы получить информацию о том, где столбец с определенным именем столбца появляется в моей базе данных, я могу запустить этот запрос:Как найти таблицу с первичным ключом с определенным именем столбца в Microsoft SQL?
select * from information_schema.columns where column_name = 'XXXXX';
Этот запрос возвращает большое количество информации о случаях, когда появляется столбец с именем, но я ничего не вижу о ссылочных ограничениях.
Я пробовал некоторые другие вопросы ниже, но ни один, кажется, чтобы получить информацию, которую я хочу:
select * from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS
select * from INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
Я хочу написать запрос, который будет делать что-то вроде этого:
select table_schema, table_name from INFORMATION_SCHEMA.COLUMNS
where column_name = 'XXXXX' and IsPrimaryKey = 1;
Редактировать: Было высказано предположение, что этот вопрос дублирует вопрос о поиске первичного ключа данной таблицы. Этот вопрос связан, но отличается тем, что я начинаю знать имя столбца (это может произойти во многих таблицах), и я хочу узнать, есть ли таблица с столбцом первичного ключа с тем же именем.
Если ваш PRIMARY_KEY является кластеризованным ключом, то это таблица. – DVT
http://stackoverflow.com/questions/3930338/sql-server-get-table-primary-key-using-sql-query – SQLChao
Какая версия SQL Server? –