2009-10-29 12 views
16

मैं सभी उपयोगकर्ताओं के लिए विशेषाधिकार प्रदान करने की जरूरत है के लिए विशेषाधिकार देते हैं, मैं कर सकते हैं:ओरेकल - सभी उपयोगकर्ताओं

GRANT select on table TO user1; 
GRANT select on table TO user2; 
... 

लेकिन कई उपयोगकर्ता हैं। मैं सभी उपयोगकर्ताओं को एक बार में यह विशेषाधिकार कैसे दे सकता हूं?

मैंने कोशिश की:

GRANT select on table TO ALL; 

लेकिन वह काम नहीं करता।

उत्तर

23
grant select on table to public; 

लेकिन जब आप ऐसा करते हैं तो सावधान रहें - सुनिश्चित करें कि आप वास्तव में ऐसा करना चाहते हैं।

+1

धन्यवाद, यह वही है जो मुझे अपने स्कूल के असाइनमेंट में करने की ज़रूरत थी, लेकिन मैं इसे समझ नहीं पाया। मेरे पास 99% असाइनमेंट पहले ही समाप्त हो चुका था और यह आखिरी चीज शेष थी :) –

7

आपको भूमिकाओं का उपयोग करना चाहिए। भूमिकाओं के लिए अनुदान अनुमति। उपयोगकर्ताओं को अनुदान भूमिकाएं।

+0

ओरेकल 'संचयी' या 'डिसजॉइंट' में भूमिकाएं हैं? डीबी 2 में वे संचयी होते हैं - यदि आपको भूमिका निभाई गई है, तो आप हर समय उन अनुमतियों का उपयोग कर सकते हैं। इनफॉर्मिक्स में, भूमिकाएं अलग हैं; आप सेट रोल विवरण का उपयोग यह निर्धारित करने के लिए करते हैं कि वर्तमान में कौन सी भूमिका सक्रिय है, और किसी भी समय आप केवल वर्तमान भूमिका के साथ भूमिका-प्रदान किए गए विशेषाधिकारों का उपयोग कर सकते हैं। (आप हमेशा अपने उपयोगकर्ता नाम के लिए दिए गए किसी भी विशेषाधिकार का प्रयोग कर सकते हैं।) –

+0

एक भूमिका उपयोगकर्ता की तरह है, लेकिन यह उन सभी उपयोगकर्ताओं के पीछे छिपाती है जिन्हें भूमिका निभाई जा रही है। प्रत्येक उपयोगकर्ता को अलग-अलग भूमिका-आधारित सेटअप पर अनुमति देने के लिए यह एक बेहतर अभ्यास है। मुझे लगता है कि ओरेकल डीबी 2 की तरह है। – Dani

+0

@Dani - धन्यवाद। एक एसिड परीक्षण "ओरेकल में एक सेट रोल स्टेटमेंट है"। यदि नहीं, तो इसे डीबी 2 की तरह काम करना होगा; यदि कोई है, तो यह इंफॉर्मिक्स की तरह अधिक हो सकता है। –

संबंधित मुद्दे