Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

मैं Oracle में किसी वस्तु का स्वामी कैसे ढूँढ सकता हूँ?

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. उचित उपकरण ट्यूनिंग को तेजी से काम करते हैं

  2. जावा से Oracle में सरणी पास करें:java.sql.SQLException:आंतरिक प्रतिनिधित्व में कनवर्ट करने में विफल:त्रुटि

  3. स्ट्रिंग्स क्वालिफायर के साथ REGEXP_SUBSTR का उपयोग करना

  4. देखने के लिए SQL ट्रिगर

  5. Oracle में अल्पविराम से अलग सूची के रूप में वापसी क्वेरी परिणाम