DQL для поиска таблицы атрибутов - PullRequest
2 голосов
/ 02 марта 2012

Мы всегда можем найти соответствующий атрибут таблицы из таблицы по синтаксису (выберите * из table_name), есть ли способ сделать наоборот, я имею в виду, есть ли способ найти имя таблицы с именем атрибута?

1 Ответ

7 голосов
/ 02 марта 2012

Ну, если под таблицами вы подразумеваете объекты, вы можете запросить словарь данных:

select distinct type_name from dmi_dd_attr_info where attr_name = 'subject'

Это даст вам имена всех типов, которые имеют атрибут «субъект»; отдельный требуется, потому что у вас есть одна запись для каждого {type, attribute, locale} , поэтому вы получите много строк для одного и того же атрибута и типа из-за разных локалей, которые вы могли установить.

Если под таблицей вы подразумеваете зарегистрированные таблицы, то это зависит от того, зарегистрировали ли вы таблицы с реальными столбцами или нет. Если вы это сделали, то можете запросить объекты dm_registered:

select owner_name, table_name from dm_registered where any column_name = 'dummy'
...