मैं किसी दिए गए पैकेज के अंदर प्रक्रियाओं और कार्यों की सूची बनाने के लिए सभी_आर्गमेंट्स और all_procedures का उपयोग कर सकता हूं और DBMS_METADATA के साथ मैं उस पैकेज के लिए डीडीएल निकाल सकता हूं। पैकेज में कोड के प्रत्येक अलग ब्लॉक के लिए प्रक्रिया या फ़ंक्शन स्रोत कोड को अलग-अलग प्राप्त करने के लिए एक आसान तरीका है (बहुत सारे इंस्टिंग और सबस्ट्रिंग कॉल के अलावा)।विशिष्ट संग्रहीत प्रक्रिया या फ़ंक्शन के लिए स्रोत कोड
कुछ ऐसा:
स्वामी | पैकेज का नाम | वस्तु का नाम | अधिभार | तर्क | स्रोत
जाहिर है सबस्ट्रिंग और इंस्टिंग का उपयोग ओवरलोडेड फ़ंक्शंस के साथ समस्याएं पेश करेगा।
All_arguments में subprogram_id फ़ील्ड है जो इस पर बहुत ही कम दस्तावेज के अनुसार दिखता है कि यह विशिष्ट रूप से संदर्भित करता है कि यह पैकेज में किस प्रक्रिया से संबंधित है लेकिन ऐसा कुछ भी नहीं है जो इसका उपयोग करता है। अग्रिम
फ़ंक्शन परिभाषाओं को निकालने में आपका उद्देश्य क्या है? –
मेरा मतलब डीडीएल में परिभाषा जैसा था - कोशिश करने के लिए स्रोत कोड में बदल दिया गया और स्पष्ट हो कि मैं किसी विशिष्ट प्रक्रिया या फ़ंक्शन – Chris
के लिए कोड सूचीबद्ध करने का प्रयास कर रहा हूं, "कोड सूचीबद्ध करें" जैसा कि फ़ंक्शन को प्रिंटर या प्रिंट में प्रिंट करता है एक फाइल में अलग है? –