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

उपयोगकर्ताओं को Oracle में अतिरिक्त स्कीमा तक पहुँच प्रदान करने का सही तरीका

AFAIK आपको ग्रांट ऑब्जेक्ट को एक बार में करने की आवश्यकता है।

आमतौर पर आप ऐसा करने के लिए एक स्क्रिप्ट का उपयोग करेंगे, कुछ इस तरह:

SELECT 'GRANT ALL ON '||table_name||' TO BOB;'
FROM   ALL_TABLES
WHERE  OWNER = 'ALICE';

और अन्य डीबी ऑब्जेक्ट्स के लिए समान।

आप प्रत्येक स्कीमा में एक पैकेज डाल सकते हैं जिसे आपको अनुदान जारी करने की आवश्यकता है जिससे सभी कॉल के माध्यम से प्रत्येक अनुदान विवरण को तत्काल तत्काल के माध्यम से जाना जाएगा।

उदा.

   PROCEDURE GRANT_TABLES
   IS
   BEGIN

      FOR tab IN (SELECT table_name
                  FROM   all_tables
                  WHERE  owner = this_user) LOOP
         EXECUTE IMMEDIATE 'GRANT SELECT, INSERT, UPDATE, DELETE ON '||tab.table_name||' TO other_user';
      END LOOP;
   END;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle में राउंड (संख्या) फ़ंक्शन

  2. Oracle अनुक्रम ट्रिगर बनाना

  3. Oracle स्ट्रिंग एकत्रीकरण

  4. Oracle क्लाइंट स्थापना त्रुटि - पथ बहुत लंबा

  5. एक ही दृश्य में दूसरे कॉलम की गणना करने के लिए परिकलित कॉलम का उपयोग कैसे करें