Du kan fråga vyn ALL_OBJECTS:
select owner
, object_name
, object_type
from ALL_OBJECTS
where object_name = 'FOO'
Så här hittar du synonymer:
select *
from ALL_SYNONYMS
where synonym_name = 'FOO'
Bara för att förtydliga om en användare användarens SQL-sats refererar till ett objektnamn utan schemakvalifikation (t.ex. "FOO"), Oracle FIRST kontrollerar användarens schema för ett objekt med det namnet (inklusive synonymer i användarens schema). Om Oracle inte kan lösa referensen från användarens schema, söker Oracle sedan efter en offentlig synonym.
Om du letar specifikt efter begränsningar för ett visst tabellnamn:
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'
)
HTH
-- tillägg:
Om din användare beviljas åtkomst till DBA_-vyerna (t.ex. om din användare har beviljats SELECT_CATALOG_ROLE), kan du ersätta 'DBA_
' i stället för 'ALL_
' i de föregående SQL-exemplen. ALL_x
vyer visar bara objekt som du har fått privilegier. DBA_x
vyer kommer att visa alla databasobjekt, oavsett om du har privilegier på dem eller inte.