ऐसा इसलिए है, क्योंकि आपने एक स्लैश /
लगाया है स्क्रिप्ट के अंत में।
जिसके कारण, बफ़र में पिछला स्टेटमेंट फिर से निष्पादित होता है। जिसका अर्थ है, तालिका बनाएं कथन दो बार निष्पादित किया जाता है ।
स्लैश को अंत से हटा दें। सेमी-कोलन व्यक्तिगत प्रश्नों के लिए स्टेटमेंट टर्मिनेटर के रूप में पर्याप्त है।
मैं इस तरह से करूंगा:
SQL> BEGIN
2 EXECUTE IMMEDIATE 'DROP TABLE TEMP_SOURCE';
3 EXCEPTION
4 WHEN OTHERS THEN
5 IF SQLCODE != -942 THEN
6 RAISE;
7 END IF;
8 END;
9 /
PL/SQL procedure successfully completed.
SQL>
SQL> CREATE TABLE TEMP_SOURCE
2 (
3 COL_1 VARCHAR2(30 CHAR),
4 COL_2 VARCHAR2(30 CHAR),
5 COL_3 VARCHAR2(30 CHAR)
6 );
Table created.
SQL>
ऐसा कहने के बाद, आपके पास स्क्रिप्ट में कई समस्याएं हैं।
आपके पास कॉलम के नाम में स्पेस नहीं हो सकता। COL 1
एक अमान्य स्तंभ नाम है। आपको अमान्य पहचानकर्ता त्रुटि प्राप्त होगी ।
एक और मुद्दा:
एक अतिरिक्त अल्पविराम . है स्तंभ सूची के अंत में ।