DQL для поиска таблицы атрибутов

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

1 ответ

Решение

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

select distinct type_name from dmi_dd_attr_info where attr_name = 'subject'

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

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

select owner_name, table_name from dm_registered where any column_name = 'dummy'
Другие вопросы по тегам