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

ORA-00900:अमान्य SQL कथन त्रुटि? मेरे sql में क्या गलत है?

ऐसा लगता है कि आपका डीबी सोलो क्लाइंट पहले अर्धविराम की व्याख्या कर रहा है जो इसे कथन के अंत के रूप में देखता है, जो सादे एसक्यूएल (डीएमएल या डीडीएल) के लिए उचित है लेकिन पीएल/एसक्यूएल के लिए नहीं है।

आप देख सकते हैं कि आपके द्वारा पोस्ट की गई लॉग छवि से; यह create function ... v_ids integer . का व्यवहार करता है एक कथन के रूप में भाग क्योंकि यह पहले अर्धविराम के साथ समाप्त होता है - यह संकलित करता है लेकिन एक त्रुटि के साथ। फिर यह अगला खंड, अगले अर्धविराम तक, एक अलग कथन के रूप में लेता है - v_str varchar2(5000) - और यह वह है जिसे ORA-00900 मिलता है, क्योंकि यह मान्य SQL नहीं है।

दस्तावेज़ीकरण के अनुसार :

तो उसके आधार पर यह समझ में नहीं आता कि पीएल/एसक्यूएल को अलग तरीके से कैसे व्यवहार किया जाए; लेकिन आप अपनी सेटिंग्स को बदल सकते हैं ताकि अर्धविरामों को स्टेटमेंट सेपरेटर के रूप में नहीं माना जा सके - बोर्ड भर में, जिसका अर्थ है कि आपको create type दोनों के बाद GO को जोड़ना होगा। और create function बयान, और आपके द्वारा किए गए किसी भी अन्य प्रश्न या कॉल। यह / . का उपयोग करने के समान होगा SQL*Plus या SQL Developer में हर जगह।

प्रक्रिया संपादक का उपयोग करना आसान हो सकता है . संभवतः आपके द्वारा ऑब्जेक्ट ब्राउज़र से प्रकार और फ़ंक्शन बनाने के बाद ।

या, निश्चित रूप से, किसी भिन्न क्लाइंट का उपयोग करें...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सीएलओबी और एनसीएलओबी में क्या अंतर है?

  2. PL/SQL में रिकॉर्ड फ़ील्ड प्रिंट करें

  3. Oracle 10 ऑप्टिमाइज़र RULE से COST तक:क्यों?

  4. Oracle में एक पंक्ति के अस्तित्व की जाँच करने के लिए सबसे तेज़ क्वेरी?

  5. Oracle में KEEP के साथ और उसके बिना विभाजन