Найти определенное имя столбца во всех представлениях в одном операторе выбора - PullRequest
0 голосов
/ 05 сентября 2018

Я ищу определенное имя столбца во всех представлениях. Я знаю, что следующее работает для всех таблиц, но не знаю, как это сделать для всех представлений:

Что я использую, чтобы найти column_name = 'SHORT_TITLE' во всех таблицах, но теперь нужно найти все представления:

ВЫБРАТЬ имя_таблицы, имя_столбца ОТ всех_таблиц_колонок ГДЕ столбец_имя = 'SHORT_TITLE'

Спасибо

1 Ответ

0 голосов
/ 05 сентября 2018

Oracle:

Объединение all_tab_columns со всеми_просмотрами

SELECT table_name, column_name
FROM all_tab_columns, all_views
WHERE all_tab_columns.table_name = all_views.view_name
AND column_name = ...

Результатом table_name будут только просмотры

SQL:

Мы можем сделать это, объединив information_schema.views и information_schema.columns

SELECT v.table_name, column_name FROM information_schema.views v JOIN information_schema.columns c  
ON v. = c.table_schema 
AND v.table_name = c.table_name
WHERE column_name = ...

v.table_name - это имя представления.

РЕДАКТИРОВАТЬ: я добавил Oracle, потому что я только что понял all_tab_columns в вашем вопросе

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...