我可以使用all_arguments和all_procedures列出任何給定包中的過程和函數,並使用DBMS_METADATA我可以提取該包的DDL。是否有一種簡單的方法(除了大量的instring和substring調用)能夠爲程序包中的每個獨立代碼塊分別獲取過程或函數源代碼。特定存儲過程或函數的源代碼
類似這樣的:
Owner |包名稱|對象名稱|過載|參數|來源
顯然使用子字符串和instring會出現重載函數的問題。
All_arguments有subprogram_id字段,根據它的非常稀疏的文檔,它看起來像唯一地引用它在程序包中涉及的哪個過程,但似乎沒有任何使用它的東西。
歡呼聲提前
提取函數定義的目的是什麼? – 2010-07-09 10:25:59
我的意思是以類似DDL的方式定義 - 改爲源代碼,嘗試更清楚地說明我試圖列出特定過程或函數的代碼 – Chris 2010-07-09 10:31:08
「列出代碼」在文件中隔離? – 2010-07-09 10:43:30