वहां का महत्वपूर्ण मुहावरा 'रिकॉर्ड-उन्मुख' है। स्पष्ट कर्सर घोषणा के लिए सिंटैक्स
यह भी स्पष्ट रूप से दिखाता है कि वापसी प्रकार एक rowtype
होना चाहिए , जिसे यह इस प्रकार परिभाषित करता है:
आप इसे एक कॉलम के डेटाटाइप को वापस करने के लिए कह रहे हैं, न कि पंक्ति/रिकॉर्ड के। यदि आप किसी मौजूदा %ROWTYPE
. का उपयोग नहीं करना चाहते हैं तो Oracle इसके बजाय एक रिकॉर्ड प्रकार घोषित करने के लिए तंत्र प्रदान करता है, जैसा कि एक अन्य उत्तर पहले ही दिखाया जा चुका है।
ऐसा लगता है कि आप शिकायत कर रहे हैं कि दस्तावेज़ीकरण यह नहीं कहता है कि आप रिटर्न के रूप में स्केलर मान का उपयोग नहीं कर सकते हैं। यह यह भी नहीं कहता है कि आप एक पैकेज, या एक दृश्य, या एक भूमिका वापस नहीं कर सकते। इसे पूरी तरह से उन सभी चीजों को सूचीबद्ध करने की आवश्यकता नहीं है जो आप नहीं कर सकते करते हैं, क्योंकि यह स्पष्ट रूप से आपको वही बताता है जो आप कर सकते हैं do, जो एक पंक्ति का प्रतिनिधित्व करने वाले प्रकार को वापस करना है।
आपके मामले में उस पंक्ति प्रकार में केवल एक कॉलम होना आवश्यक है, लेकिन अभी भी कोई कारण नहीं है कि आप सक्षम होना चाहिए - या ओरेकल से अपेक्षा करें - आपको उस सीमित परिदृश्य में शॉर्टकट लेने दें। एक सुसंगत तंत्र प्रदान करना अनुचित नहीं लगता - आपके लिए record
घोषित करना कोई कठिन कार्य नहीं है , जबकि इसके लिए एक अलग रास्ता तैयार करना, परीक्षण करना और बनाए रखना काफी ओवरहेड होगा।