2011-08-23 14 views
10

क्या ऑरैकल में कोई तरीका है कि प्रक्रिया की संरचना क्या है? मैं लॉग इन करने की कोशिश कर रहा हूं और चल रही प्रक्रियाएं कर रहा हूं और अपने लॉग में वास्तविक प्रक्रिया संरचना को स्टोर करना चाहता हूं।ओरेकल में किसी प्रक्रिया की परिभाषा को कैसे मुद्रित करें?

उत्तर

12

आप ALL_SOURCE तालिका क्वेरी सकता

SELECT text 
    FROM all_source 
WHERE owner = <<owner of procedure>> 
    AND name = <<name of procedure>> 
ORDER BY line 

आप एक प्रक्रिया एक पैकेज

SELECT text 
    FROM all_source 
WHERE owner = <<owner of procedure>> 
    AND name = <<name of procedure>> 
    AND type = 'PACKAGE BODY' 
ORDER BY line 

के अंदर है कि आप पैकेज शरीर के पाठ दे देंगे के साथ काम कर रहे हैं। आप "पैकेज"

5
SELECT TEXT, LINE FROM ALL_SOURCE WHERE 
    NAME = UPPER('$name') -- the table also has an owner field to track the user 
    ORDER BY TYPE, -- type is generally procedure, but there are functions and 
        -- more complex structures as well, such as PACKAGE 
    TO_NUMBER(LINE) 
3

dbms_metadata package, get_ddl function, शायद TYPE का उपयोग करके पैकेज विनिर्देश का पाठ भी प्राप्त कर सकते हैं?

SELECT dbms_metadata.get_ddl('PROCEDURE','<yourproc>','<schema>') FROM dual; 
संबंधित मुद्दे

 संबंधित मुद्दे