ORA-00900 अमान्य SQL कथन सामान्य त्रुटि में से एक है
यहां बताया गया है कि इस त्रुटि के बारे में oracle दस्तावेज़ क्या कहते हैं
संदर्भ:Oracle दस्तावेज़ीकरण
ORA-00900 अमान्य SQL कथन को हल करने के लिए चेकलिस्ट
(1) यह त्रुटि आमतौर पर तब होती है जब आप Oracle प्रक्रिया बनाने का प्रयास कर रहे होते हैं और प्रक्रियात्मक विकल्प स्थापित नहीं होता है। यह निर्धारित करने के लिए कि क्या प्रक्रियात्मक विकल्प स्थापित किया गया है, SQL*Plus का उपयोग करके Oracle सत्र खोलें। यदि PL/SQL बैनर प्रदर्शित नहीं होता है, तो आप जानते हैं कि प्रक्रियात्मक विकल्प स्थापित नहीं किया गया है।
(2) डेटाबेस लिंक का उपयोग करने का प्रयास करते समय ORA-00900 हो सकता है। कई उपयोगकर्ता पाते हैं कि वे ORA-00900 का सामना कर रहे हैं क्योंकि वे उन क्षेत्रों को क्वेरी करने का प्रयास करते हैं जो 2000 से पहले काम कर सकते थे। ORA-00900 को हल करने के लिए, स्थानीय डेटाबेस पर, अपने init.ora पैरामीटर NLS_DATE_FORMAT को बदलने का प्रयास करें, फिर दोहरे उद्धरण चिह्नों का उपयोग करें (इसके बजाय) सिंगल) वैल्यू के आसपास
alter session set NLS_DATE_FORMAT = "DD-MON-YYYY";
(3) sql डेवलपर/JDBC कनेक्शन पर एक्ज़िक्यूट स्टेटमेंट का उपयोग करना
execute dbms_utility.analyze_schema('OKX','ESTIMATE',30); ORA-00900: invalid SQL statement
execute sqlplus विकल्प है, हमें एप्लिकेशन/अन्य भाषा कार्यक्रमों में नीचे दिए गए विकल्पों में से किसी एक का उपयोग करना चाहिए
begin execute dbms_utility.analyze_schema('OKX','ESTIMATE',30); end; or begin execute dbms_utility.analyze_schema('OKX','ESTIMATE',30) end; /
(4) कई बार डेवलपर्स plsql ब्लॉक में गलतियाँ करते हैं और जैसे स्टेटमेंट लिखते हैं
v_dynsql:='dbms_utility.analyze_schema('OKX','ESTIMATE',30)'; execute immediate v_dynsql;
उपरोक्त कोड ORA-00900 को dbms_utility.analyze_schema('OKX','ESTIMATE',30) के रूप में देता है;
वैध कथन नहीं है
फिक्स नीचे दिए गए अनुसार प्रारंभ और अंत का उपयोग करना है
v_dynsql:= q'[BEGIN dbms_utility.analyze_schema('OKX','ESTIMATE',30); END;]'; execute immediate v_dynsql;
(5) यदि आप PLSQL में किसी तालिका का वर्णन करना चाहते हैं
SQL> begin execute immediate 'describe FND_USER'; 2 end; 3 / begin execute immediate 'describe FND_USER'; * ERROR at line 1: ORA-00900: invalid SQL statement ORA-06512: at line 1
आप यहां desc का उपयोग नहीं कर सकते। हम इसे क्वेरी के आधार पर चुनना चाह सकते हैं
begin execute immediate q'[select COLUMN_NAME,DATA_TYPE from all_tab_columns where table_name = 'FND_USER' order by column_id]'; end; /
(6) यदि आप क्रिएट व्यू स्टेटमेंट पर योजना समझाने की कोशिश कर रहे हैं
SQL> explain plan for create view test as select * from dual; explain plan for create view test as select * from dual * ERROR at line 1: ORA-00900: invalid SQL statement
आशा है कि आपको ORA त्रुटियों को ठीक करने के विभिन्न तरीके पसंद आए होंगे। कृपया इस पर प्रतिक्रिया दें
संबंधित लेख
ORA-00911:अमान्य वर्ण
ORA-29913:ODCIEXTTABLEOPEN कॉलआउट निष्पादित करने में त्रुटि
ORA-27154:स्टार्टअप के दौरान पोस्ट/वेट क्रिएट विफल रहा
ORA-01111
ORA -00257 :संग्रहकर्ता त्रुटि, केवल मुक्त होने तक आंतरिक कनेक्ट करें
ora-29283:अमान्य फ़ाइल संचालन