oracle - How do I use a record that has dots stored in it without throwing errors? (In PLSQL) -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 2 जवाब

मेरे पास निम्न पाश है पीआईआई को इकट्ठा करने की एक प्रक्रिया मुद्दा यह है कि IV_USER को जेम्स के रूप में संग्रहीत किया जाता है। यह मुझे ORA-00904: "जेम्स" प्राप्त करने का कारण बना रहा है। "टी"। "सैंडर्स": अमान्य पहचानकर्ता

क्या इस के आस पास एक रास्ता है?

  को खोलें user_list 'चुनें IV_USER से EXT_USER.PORTAL_ACCOUNTS'; लूप फ़ेच user_list में user_list_rec; तत्काल निष्पादित करें 'अद्यतन EXT_USER.PORTAL_ACCOUNTS सेट करें PERSON_ID =: ssan_new WHERE IV_USER =' || user_list_rec.IV_USER || ' 'उपयोग ssan_new; Ssan_new: = ssan_new + 1; अंत लुप;  

यदि अधिक स्पष्टीकरण की आवश्यकता है तो कृपया मुझे बताना।

मेरा मानना ​​है कि WHERE स्थिति में एकल उद्धरण असाइनमेंट

क्वेरी के रूप में एक स्ट्रिंग, एक VARCHAR चर बस मान को चिपकाएं जैसे कि WHERE IV_USER = जेम्स.T.Sanders । और इसे या तो बाइंड वेरिएबल के रूप में प्रयोग किया जाता है या एकल उद्धरणों के भीतर संलग्न किया जाता है!

  उपयोगकर्ता नाम के लिए 'एक्सचेंज IV_USER से EXT_USER.PORTAL_ACCOUNTS' चुनें; लूप फ़ेच user_list में user_list_rec; तत्काल निष्पादित करें 'अद्यतन EXT_USER.PORTAL_ACCOUNTS सेट करें PERSON_ID =: ssan_new WHERE IV_USER =' '' || user_list_rec.IV_USER || '' '' उपयोग कर रहा है ssan_new; Ssan_new: = ssan_new + 1; अंत लुप;  

या (बिना किसी डायनेमिक एसक्यूएल के लिए अद्यतन, बिल्कुल कई समाधान डायनेमिक एसक्यूएल के बिना संभव है)

  को खोलें user_list के लिए ' चुनें IV_USER से EXT_USER.PORTAL_ACCOUNTS '; लूप फ़ेच user_list में user_list_rec; अपडेट EXT_USER.PORTAL_ACCOUNTS सेट करें PERSON_ID = ssan_new WHERE IV_USER = user_list_rec.IV_USER; Ssan_new: = ssan_new + 1; अंत लुप;  

Comments