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

Oracle उपयोगकर्ता बनाना यदि वह पहले से मौजूद नहीं है

IF NOT EXISTS SQL सर्वर में उपलब्ध सिंटैक्स, Oracle में उपलब्ध नहीं है।

सामान्य तौर पर, Oracle स्क्रिप्ट केवल CREATE . को निष्पादित करती हैं कथन, और यदि वस्तु पहले से मौजूद है, तो आपको यह इंगित करने वाली एक त्रुटि मिलेगी, जिसे आप अनदेखा कर सकते हैं। सभी मानक Oracle परिनियोजन स्क्रिप्ट यही करते हैं।

हालांकि, अगर आप वास्तव में अस्तित्व की जांच करना चाहते हैं, और केवल तभी निष्पादित करें जब ऑब्जेक्ट मौजूद न हो, जिससे त्रुटि से बचा जा सके, आप PL/SQL को कोड कर सकते हैं खंड मैथा। एक SQL लिखें जो उपयोगकर्ता के अस्तित्व की जांच करता है, और यदि वह मौजूद नहीं है, तो EXECUTE IMMEDIATE का उपयोग करें करने के लिए CREATE USER PL/SQL . से ब्लॉक करें।

ऐसे PL/SQL ब्लॉक का एक उदाहरण हो सकता है:

declare
userexist integer;
begin
  select count(*) into userexist from dba_users where username='SMITH';
  if (userexist = 0) then
    execute immediate 'create user smith identified by smith';
  end if;
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 db से .Net ऐप में विशेष वर्णों का उपयोग/प्रदर्शित करने में समस्या

  2. चुनिंदा . में मिनटों की रेंज बनाएं (15)

  3. ORA-01775:समानार्थक शब्द की लूपिंग श्रृंखला लेकिन समानार्थी शब्द नहीं हैं

  4. मैं 5 टेबल से एकाधिक मान कैसे चुन सकता हूं?

  5. कार्य या एक्सेल फ़ाइल के लिए BLOB के अंदर स्ट्रिंग ढूंढें और बदलें