sql - Accessing a table without specifying the schema name -
मेरे पास GBO_ARC_SCHEMA
नामक एक स्कीमा है, जिसमें मुझे TEST_EMP < / कोड>, और मेरे पास दो उपयोगकर्ता हैं
USER_A
और USER_B
।
सबसे पहले मैं USER_A
से कनेक्ट हुआ और नीचे निकाल दिया गया क्वेरी
TEST_EMP से गिन (*) का चयन करें; गिनती ----- 20
उसके बाद मुझे USER_b
के रूप में जोड़ा गया और क्वेरी से निकाल दिया गया लेकिन यह एक त्रुटि दे रहा है, यह कह कर कि मेज या दृश्य से बाहर नहीं निकलता
TEST_EMP से गिनती (*) का चयन करें;
लेकिन अगर मैं scma.object नाम
का उपयोग करता हूं तो मुझे नीचे की तरह क्वेरी करने की अनुमति है
select count (*) से GBO_ARC_SCHEMA.TEST_EMP;
लेकिन मेरी आवश्यकता के अनुसार मैं स्कीमा नाम निर्दिष्ट नहीं करना चाहता।
क्या कोई मेरी सहायता कर सकता है?
यदि आप चाहते हैं सभी प्रयोक्ता स्कीमा नाम के साथ योग्यता के बिना मेज से चयन करने में सक्षम होने के लिए, आप एक सार्वजनिक प्रतिरूप :
<पूर्व> GBO_ARC_SCHEMA.TEST_EMP के लिए सार्वजनिक समानार्थक TEST_EMP बनाएं;
यदि आप केवल user_b
को स्कीमा नाम छोड़ना चाहते हैं, तो आप user_b के स्कीमा के भीतर निजी प्रतिनाम बनाना चाहते हैं (जो कि लॉग है पर user_b के रूप में)
GBO_ARC_SCHEMA.TEST_EMP के लिए समानार्थक TEST_EMP बनाएँ;
यदि आप आग्रह करते हैं कि पर समानार्थी शब्द का उपयोग नहीं किया जाता है, तो, प्रवेश करने के बाद,
सत्र सेट चालू करें current_schema = GBO_ARC_SCHEMA ;
Comments
Post a Comment