Вы можете запросить представление ALL_OBJECTS:
select owner
, object_name
, object_type
from ALL_OBJECTS
where object_name = 'FOO'
Чтобы найти синонимы:
select *
from ALL_SYNONYMS
where synonym_name = 'FOO'
Просто чтобы уточнить, если оператор SQL пользователя пользователь ссылается на имя объекта без указания схемы (например, 'FOO'), Oracle FIRST проверяет схему пользователя на предмет этого имени (включая синонимы в схема этого пользователя). Если Oracle не может разрешить ссылку из схемы пользователя, Oracle проверяет общедоступный синоним.
Если вы ищете специально ограничения для определенного имени таблицы:
select c.*
from all_constraints c
where c.table_name = 'FOO'
union all
select cs.*
from all_constraints cs
join all_synonyms s
on (s.table_name = cs.table_name
and s.table_owner = cs.owner
and s.synonym_name = 'FOO'
)
НТН
- приложение:
Если вашему пользователю предоставлен доступ к представлениям DBA_ (например, если вашему пользователю предоставлен SELECT_CATALOG_ROLE), вы можете заменить 'DBA_
' вместо 'ALL_
' в предыдущих примерах SQL. Представления ALL_x
показывают только объекты, которым вы предоставили привилегии. В представлениях DBA_x
будут показаны все объекты базы данных, независимо от того, есть у вас права на них или нет.