आप ALL_OBJECTS व्यू को क्वेरी कर सकते हैं:
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 पहले उस नाम के ऑब्जेक्ट के लिए उपयोगकर्ता के स्कीमा की जांच करता है (उस उपयोगकर्ता की स्कीमा में समानार्थक शब्द सहित)। यदि 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
दृश्य सभी डेटाबेस ऑब्जेक्ट दिखाएंगे, चाहे आपके पास उन पर विशेषाधिकार हों या नहीं।