sql - Returning a Table from an Oracle function, defined within an anonymous block -


मेरे पास इस तरह एक स्पष्ट ब्लॉक है

  DECLARE TYPE वर्डलाइस्ट VARCHAR2 का तालिका है (50); फ़ंक्शंस जाओ वर्ल्ड लिस्ट रिटर्न वर्ड लिस्ट आईएसएस शब्द WordList: = वर्डलिस्ट (); BEGIN शब्द। EXTEND; शब्द (1): = 'आर्डवार्क'; रिटर्न शब्द; समाप्त; शुरू से चुनें टैब (getWordList); समाप्त;   

जब मैं इसे sqlplus से चलाने की कोशिश करता हूं तो मुझे यह मिलता है ...

  त्रुटि 15 पंक्ति पर: ओआरए -0650: लाइन 15, कॉलम 23 : PLS-00231: एसक्यूएल ओआरए -0650: फ़ंक्शन 'गेटवॉर्स्टिस्ट' का उपयोग नहीं किया जा सकता है: पंक्ति 15, कॉलम 23: पीएल / एसक्यूएल: ओआरए -02 9 4: "गेटोल्डलिस्ट": अमान्य पहचानकर्ता ओआरए -0650: लाइन 15, कॉलम 3: पीएल / एसक्यूएल: एसक्यूएल वक्तव्य की उपेक्षा   

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

मैं जो करने की कोशिश कर रहा हूं वह एक समारोह लिखता है जो परिणामों की एक सूची वापस करेगा (जो भी रूप में, संग्रह, कर्सर, मैं उधम मचा नहीं रहा हूं) जो मैं आगे की प्रक्रिया के लिए एक अन्य समारोह में पारित कर सकता हूं। फ़ंक्शंस मनमाने ढंग से जटिल हो सकते हैं, और मैं भविष्य में उनका पुन: उपयोग करना चाहूंगा, इसलिए एक एकल एसक्यूएल बयान में सब कुछ लिखने के बजाय फ़ंक्शंस लिखना चाहूंगा।

मैं ओरेकल में नया हूँ, इसलिए मुझे पता लगाना मुहावरे और काम करने के तरीके, जो अनाज के साथ जाने के बजाय, इसके खिलाफ होते हैं।

फ़ंक्शन एसक्यूएल में और प्रकार ओरेकल में वैश्विक रूप से उपलब्ध होना चाहिए, इसका उपयोग SELECT

कोड> वास्तव में संदर्भ को एसक्यूएल इंजन और वहां पर निष्पादित क्वेरी भेज देगा। पीएल / एसक्यूएल इंजन में परिणाम वापस भेजना ..

बस PL / SQL कॉल उदाहरण के लिए: बिना SQL log कोड> एस, आपकी विधि काम करेगी ..

इसलिए नीचे की जरूरत है ..

एसक्यूएल ऑब्जेक्ट के रूप में टाइप करें।

  टाइप वर्डलालिस्ट VARCHAR2 (50) की तालिका है;   

फ़ंक्शन घोषित करें

  निर्मित करें वर्ड वर्ल्ड लिस्ट रिटर्न WordList शब्द WordList: = WordList (); BEGIN शब्द। EXTEND; शब्द (1): = 'आर्डवार्क'; रिटर्न शब्द; समाप्त; /   

इसे फिर से कॉल करें

  शुरू से चुनें * तालिका से सोमेरकर (getWordList); समाप्त; /    

Comments

Popular posts from this blog

php - PDO bindParam() fatal error -

logging - How can I log both the Request.InputStream and Response.OutputStream traffic in my ASP.NET MVC3 Application for specific Actions? -

java - Why my included JSP file won't get processed correctly? -