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

यह संग्रहीत प्रक्रिया तालिका में NULL मान क्यों सम्मिलित कर रही है?

आपके प्रश्न का उत्तर देने के लिए कि यह नल क्यों डाल रहा है, ऐसा इसलिए है क्योंकि आप इसे निष्पादित करते समय प्रक्रिया पैरामीटर को कोई मान प्रदान नहीं कर रहे हैं।

आपने प्रश्न में जो कहा है और ऊपर आपकी टिप्पणी के आधार पर, ऐसा लगता है कि आप Oracle के साथ काम करने में कुछ मौलिक कौशल खो रहे हैं। आपके द्वारा लिखा गया कोड एक प्रक्रिया है, एक फ़ंक्शन नहीं, इसलिए आप इसे SELECT में कॉल नहीं कर सकते बयान। एक plsql ब्लॉक के अंदर एक प्रक्रिया कहा जाता है। लिखित रूप में आपकी प्रक्रिया में दो तर्क होते हैं, जिन्हें आपको कॉलिंग कोड के माध्यम से प्रक्रिया कॉल में पास करना होगा। आपके द्वारा लिखा गया प्रक्रिया कोड XML_HOURS_LOAD . के डेटा की तलाश नहीं करता है टेबल।

हम सभी Oracle सीखने वाले नए व्यक्ति हैं। कार्यों और संग्रहीत प्रक्रियाओं के बीच अंतर को दूर करने और पैरामीटर तर्कों का उपयोग करने के तरीके को स्पष्ट करने में सहायता के लिए आप pl/sql कोडिंग के मूल सिद्धांतों पर आरंभ करने के लिए कुछ ट्यूटोरियल देखना चाहेंगे।

आपने अपने प्रश्न में जो लिखा है, उससे मेरा मानना ​​है कि यह वह कोड है जो आप चाहते हैं:

DECLARE
   p_code IS XML_HOURS_LOAD.code%TYPE,
   p_product IS XML_HOURS_LOAD.product%TYPE;
   CURSOR cXmlHoursLoadCursor IS (SELECT code, product FROM xml_hours_load); --You can add a WHERE condition to this cursor query
BEGIN
    FOR v IN cXmlHoursLoadCursor LOOP
       Cascade_Load(v.code, v.product);
       COMMIT; --I recommend calling commit here instead of inside your stored procedure so that the calling code has control of the transaction state
    END LOOP;
END;



  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. INSERT/UPDATE के लिए Oracle SQL में MERGE स्टेटमेंट में शर्तें जोड़ना

  3. COALESCE () Oracle में फ़ंक्शन

  4. ओरेकल में ज्ञात विभाजन कुंजी मान दिए जाने पर कैसे बताएं कि एक पंक्ति किस विभाजन में जाएगी?

  5. ऑर्डर करने के बाद ओरेकल क्वेरी द्वारा लौटाई गई पंक्तियों की संख्या को मैं कैसे सीमित करूं?