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

पैरामीटर उपसर्ग ':' के बाद स्थान की अनुमति नहीं है

अपने अनुभव से मैं आपको बताऊंगा। दो परिदृश्य हैं
1) आप क्वेरी में एक पैरामीटर निर्दिष्ट करना चाहते हैं जिसका मान गतिशील रूप से सेट किया गया हो।

eg: where user_id = :userId

यहां आपको कोई समस्या नहीं होगी यदि आप "userId" के समान नाम के साथ पैरामीटर सेट कर रहे हैं;
2) आप मान टाइपकास्ट कर रहे हैं

eg: select count(id) :: integer

जब आप ऐसा कर रहे हों तो आपको एस्केप कैरेक्टर का उपयोग करना होगा अन्यथा हाइबरनेट सोचेगा कि यह एक पैरामीटर है। और यह एक त्रुटि देगा "सभी पैरामीटर सेट नहीं हैं" आप एस्केप कैरेक्टर का उपयोग करके कोड लिखने से इसे दूर कर सकते हैं

eg:select count(id) \\:\\: integer

तो यह आपकी समस्या का समाधान करेगा। और यदि आप गलत तरीके से पिछड़े स्लैश के बजाय फॉरवर्ड स्लैश का उपयोग करते हैं तो आपको त्रुटि मिलेगी "उपसर्ग के बाद स्थान की अनुमति नहीं है"

Wrong: select count(id)//://: integer
Right: select count(id)\\:\\: integer

लेकिन मैंने आपको "::" . का उपयोग करने के बजाय CAST फ़ंक्शन का उपयोग करने की अत्यधिक अनुशंसा की है यह ऑपरेटर select CAST(count(id) as integer) यह टाइप कास्टिंग का बेहतर तरीका है और इससे कम से कम त्रुटियां होंगी



  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. Oracle में ट्रिगर एक फ़ील्ड को ऑटो-इन्क्रीमेंट करने और एसोसिएशन टेबल में डालने के लिए

  3. XAMPP का उपयोग करके अपरिभाषित फ़ंक्शन oci_connect () के लिए अटक कॉल

  4. Oracle में एक यादृच्छिक पंक्ति का चयन करना

  5. डेटा, WRITE_DATA और WRITE_RAW_DATA के बीच UTL_SMTP अंतर