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

Oracle - किसी उपयोगकर्ता को किसी अन्य उपयोगकर्ता की वस्तुओं के अधिकार कैसे प्रदान करें

ऐसा करने के लिए आप एक सरल प्रक्रिया लिख ​​सकते हैं:

BEGIN
  FOR Rec IN (SELECT object_name, object_type FROM all_objects WHERE owner='SOURCEUSER' AND object_type IN ('TABLE','VIEW','PROCEDURE','FUNCTION','PACKAGE')) LOOP
    IF Rec.object_type IN ('TABLE','VIEW') THEN
      EXECUTE IMMEDIATE 'GRANT SELECT, UPDATE, INSERT, DELETE ON SOURCEUSER.'||Rec.object_name||' TO TARGETUSER';
    ELSIF Rec.object_type IN ('PROCEDURE','FUNCTION','PACKAGE') THEN
      EXECUTE IMMEDIATE 'GRANT EXECUTE ON SOURCEUSER.'||Rec.object_name||' TO TARGETUSER';
    END IF;
  END LOOP;
END;

सुनिश्चित नहीं है कि आप और क्या मांग रहे हैं। आप लक्षित उपयोक्ता को जो विशेषाधिकार प्रदान करना चाहते हैं, उनके लिए अतिरिक्त अनुदान और/या object_types जोड़ने के लिए आप उपरोक्त को संशोधित कर सकते हैं। जैसा कि @stili का तात्पर्य है, आप भूमिकाओं के साथ बहुत कुछ कर सकते हैं, लेकिन सावधान रहें - भूमिकाओं के माध्यम से दी जाने पर कुछ अनुमतियां काम नहीं करती हैं।



  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. MySQL 'स्कीमा बनाएं' और 'डेटाबेस बनाएं' - क्या कोई अंतर है

  3. wf_java_deferred कतार का पुनर्निर्माण कैसे करें

  4. Oracle दिनांक स्तंभ सफाई

  5. एक सहसंबद्ध उपश्रेणी के साथ कुशल जुड़ाव