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'