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

ORA-00900 का समाधान कैसे करें

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:अमान्य फ़ाइल संचालन


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. भौतिक स्टैंडबाय डेटाबेस में एमआरपी में ORA-01111

  2. AWS EC2 से AWS RDS में Oracle डेटाबेस माइग्रेट करना, भाग 4

  3. Oracle में प्राथमिक कुंजी कॉलम कैसे प्राप्त करें?

  4. Oracle 11g में PL/SQL का उपयोग करके JSON फ़ाइल में डेटा निर्यात करें

  5. अद्यतन ओरेकल को मर्ज करें पंक्तियों का एक स्थिर सेट प्राप्त करने में असमर्थ