Tuesday, 15 July 2014

oracle - pl/sql insert multiple rows using for loop variable seen as not declared -


मैंने घोषित चर के साथ अनाम ब्लॉक का अनुसरण किया है:

  घोषित tst संख्या (9) : = 0; वीसीएनटी के लिए 1..1000 लूप टीएसटी शुरू करें: = वीसीएनटी; Samp_tab मान डालें (: tst, 'a'); अंत लूप; समाप्त;  

मैं सम्मिलित मूल्य में काउंटर मान के साथ चर का उपयोग करके, पाश के प्रत्येक चक्र में पंक्ति में काउंटर की तालिका मान में सम्मिलित करना चाहता हूं। जब मैं कोड निष्पादित करता हूं, तो ओरेकल देता है:

  बाइंड वैरिएबल "tst" का चयन नहीं किया गया अज्ञात ब्लॉक पूरा हुआ।  

मेरे कोड को ठीक कैसे करें?

अगर आप चाहते हैं स्थानीय चर का संदर्भ लें, इसे एक बृहदान्त्र के साथ प्रीफ़िक्स न करें

  घोषित टीएसटी संख्या (9): = 0; वीसीएनटी के लिए 1..1000 लूप टीएसटी शुरू करें: = वीसीएनटी; Samp_tab मूल्यों में डालें (टीएसटी, 'ए'); अंत लूप; समाप्त;  

यह मानता है कि samp_tab दो स्तंभों वाला एक तालिका है, पहला अंक वाला और दूसरी स्ट्रिंग है। एक अच्छा अभ्यास के रूप में, आप हमेशा उन कॉलमों को सूचीबद्ध करना चाहते हैं, जिन्हें आप स्पष्ट रूप से सम्मिलित कर रहे हैं - जो आपके कोड को अधिक आत्म-दस्तावेजी बनाता है और इसका मतलब है कि आप बाद में त्रुटियां नहीं बना पाएंगे, अगर कोई व्यक्ति उस तालिका में नए कॉलम जोड़े जो बाद में डिफ़ॉल्ट हो मान।


No comments:

Post a Comment