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

Oracle स्कीमा उपयोगकर्ता प्रक्रिया में तालिका नहीं बना सकता

आपके तत्काल प्रश्न का उत्तर यह है कि आपको ORA-01031: insufficient privileges . मिलता है क्योंकि आपके उपयोगकर्ता के पास भूमिका के माध्यम से दी गई तालिका बनाएं विशेषाधिकार है:Oracle सुरक्षा मॉडल एक नियम लागू करता है कि हम PL/SQL में भूमिकाओं के माध्यम से दिए गए विशेषाधिकारों का उपयोग नहीं कर सकते हैं। इसलिए आपको अपने उपयोगकर्ता को सीधे टेबल बनाने का विशेषाधिकार देने के लिए अपने डीबीए की आवश्यकता है।

या आप करते हैं?

क्योंकि आप जो करने की कोशिश कर रहे हैं वह ओरेकल में समझ में नहीं आता है। Oracle में वैश्विक अस्थायी तालिकाएं स्थायी हैं संरचनाएं; यह सिर्फ उनमें डेटा है जो अस्थायी है। तो, किसी अन्य डेटाबेस ऑब्जेक्ट की तरह, सामान्य डीडीएल स्क्रिप्ट के साथ एक बार तालिका बनाना सही समाधान है। फिर आप अपनी आवश्यकता के अनुसार केवल वैश्विक अस्थायी तालिका में सम्मिलित कर सकते हैं।

आप इस साइट पर यह गलती करने वाले पहले व्यक्ति नहीं हैं (इस प्रासंगिक सूत्र को पढ़ें)। अक्सर ऐसा इसलिए होता है क्योंकि लोग किसी अन्य डेटाबेस से आ रहे हैं जैसे SQL सर्वर जिसमें "अस्थायी तालिका" नामक एक निर्माण होता है जो वास्तव में ओरेकल की वैश्विक अस्थायी तालिकाओं से अलग होता है। यदि यह आपका परिदृश्य है तो आप Oracle 18c नई सुविधा में रुचि लेंगे, जिसे Private Temporary Tables कहा जाता है। ये SQL सर्वर अस्थायी तालिकाओं के बिल्कुल अनुरूप हैं। और जानें।




  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. cx_Oracle के साथ तालिका नाम के लिए बाध्यकारी चर

  3. Oracle में टाइमस्टैम्प कैसे डालें?

  4. Oracle स्ट्रिंग फ़ंक्शंस (पूरी सूची)

  5. डेटाबेस कॉलम में बिट फ़्लैग के लिए कोई नुकसान?