PLS-00103:निम्न में से किसी एक की अपेक्षा करते समय "CREATE" प्रतीक का सामना करना पड़ा:
उपरोक्त त्रुटि इस तथ्य के कारण है कि आप DDL . का उपयोग कर रहे हैं अंदर PL/SQL . तुम यह नहीं कर सकते। आपको (ab) तत्काल निष्पादित . का उपयोग करना चाहिए डीडीएल विवरण जारी करने के लिए पीएल/एसक्यूएल . में ।
उदाहरण के लिए,
SQL> DECLARE
2 my_user VARCHAR2(30) := 'foo';
3 my_password VARCHAR2(9) := '1234';
4 BEGIN
5 EXECUTE IMMEDIATE 'CREATE USER '||my_user||' IDENTIFIED BY '||my_password;
6 EXECUTE IMMEDIATE 'GRANT CREATE SESSION TO '||my_user;
7 END;
8 /
PL/SQL procedure successfully completed.
SQL> conn foo/[email protected]
Connected.
SQL> SHOW USER
USER is "FOO"
दस्तावेज़ीकरण . से त्वरित संदर्भ ,
<ब्लॉकक्वॉट>पीएल/एसक्यूएल में डीडीएल और एससीएल स्टेटमेंट निष्पादित करना
केवल गतिशील SQL पीएल/एसक्यूएल प्रोग्राम यूनिट में निम्नलिखित प्रकार के स्टेटमेंट्स को निष्पादित कर सकते हैं:
-
डेटा परिभाषा भाषा (DDL) स्टेटमेंट जैसे
CREATE
,DROP
,GRANT
, औरREVOKE
-
सत्र नियंत्रण भाषा (SCL) स्टेटमेंट जैसे
ALTER SESSION
औरSET ROLE
TABLE
SELECT
में क्लॉज बयान
एक तरफ ध्यान दें,
उपयोगकर्ता बनाना और विशेषाधिकार देना आमतौर पर डेटाबेस व्यवस्थापन . होता है डीबीए द्वारा उठाए गए कार्य। यह PL/SQL के माध्यम से की जाने वाली नियमित गतिविधि नहीं है कार्यक्रम। DBA उपयोगकर्ताओं को बनाता है और एक बार की गतिविधि के रूप में आवश्यक विशेषाधिकार प्रदान करता है।