PLS-00306 त्रुटि: गलत तर्क कैसे खोजें?


11

PLS-00306: 'स्ट्रिंग' के लिए कॉल में गलत संख्या या तर्क

कारण: यह त्रुटि तब होती है जब नामित उपप्रोग्राम कॉल को उस उपप्रोग्राम नाम के लिए किसी भी घोषणा से मेल नहीं खा सकता है। उपप्रोग्राम नाम गलत हो सकता है, एक पैरामीटर में गलत डेटाटाइप हो सकता है, घोषणा गलत हो सकती है, या घोषणा को ब्लॉक संरचना में गलत तरीके से रखा जा सकता है। उदाहरण के लिए, यह त्रुटि तब होती है यदि अंतर्निहित स्क्वायर रूट फ़ंक्शन SQRT को गलत वर्तनी नाम या गलत डेटाटाइप के पैरामीटर के साथ कहा जाता है।

क्रिया: वर्तनी और उपप्रोग्राम नाम की घोषणा की जाँच करें। यह भी पुष्टि करें कि इसकी कॉल सही है, इसके पैरामीटर सही डेटाटाइप के हैं, और, अगर यह एक अंतर्निहित फ़ंक्शन नहीं है, तो इसकी घोषणा ब्लॉक संरचना में सही ढंग से रखी गई है।

मैं गलत तर्क की पहचान कैसे करूं?

मेरे पास दर्जनों मापदंडों के साथ एक संग्रहीत-प्रक्रिया है। क्या प्रयुक्त और परिभाषित प्रक्रिया के बीच अंतर की जांच करने का एक आसान तरीका है? मैं इसे लाइन से लाइन की जाँच नहीं करना चाहता हूँ ..

जवाबों:


11

नहीं, यहाँ वास्तव में कोई शॉर्टकट नहीं है। निम्नलिखित क्रम में चीजों की जांच करें:

  1. प्रक्रिया का नाम जांचें।
  2. मापदंडों की संख्या की जांच करें।
  3. मापदंडों के प्रकारों की जांच करें।
  4. पैरामीटर नामों की जाँच करें।

4
यदि उन्हें नाम से पुकारा जाए तो पैरामीटर नामों की भी जाँच करें। कि बस मुझे पकड़ लिया।
स्वराज

मापदंडों के नाम की जाँच मेरे लिए महत्वपूर्ण है, धन्यवाद।
अर्पित अग्रवाल

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.