दस्तावेज़ीकरण से,
<ब्लॉकक्वॉट>ALL_PROCEDURES संबद्ध गुणों के साथ सभी कार्यों और प्रक्रियाओं को सूचीबद्ध करता है। उदाहरण के लिए, ALL_PROCEDURES इंगित करता है कि कोई फ़ंक्शन पाइपलाइन किया गया है, समानांतर सक्षम है या एक समग्र फ़ंक्शन है। यदि कोई फ़ंक्शन पाइपलाइन या एक समग्र कार्य है, तो संबंधित कार्यान्वयन प्रकार (यदि कोई हो) की भी पहचान की जाती है।
यह स्पष्ट नहीं करता है कि क्या यह एक अकेले प्रक्रिया को सूचीबद्ध करेगा और एक पैकेज . में लिपटी एक प्रक्रिया उसी तरह या इसे अलग तरह से मानता है। चूंकि, procedure_name
एक स्टैंड अलोन प्रक्रिया का नाम सूचीबद्ध नहीं करेगा जैसा कि ऊपर दिए गए प्रश्न में परीक्षण मामले में देखा गया है।
PROCEDURE_NAME
कॉलम में केवल उन प्रक्रियाओं के लिए प्रक्रिया का नाम होगा जो PACKAGE
. का हिस्सा हैं . स्टैंड अलोन प्रक्रियाओं के लिए आपको OBJECT_NAME . का उपयोग करना होगा ।
SQL> show user
USER is "LALIT"
SQL> CREATE OR REPLACE
2 PROCEDURE new_proc
3 AS
4 BEGIN
5 NULL;
6 END;
7 /
Procedure created.
SQL>
SQL> SELECT owner,
2 object_name,
3 procedure_name,
4 object_type
5 FROM all_procedures
6 WHERE owner='LALIT'
7 AND object_name='NEW_PROC';
OWNER OBJECT_NAME PROCEDURE_NAME OBJECT_TYPE
----- --------------- --------------- ---------------
LALIT NEW_PROC PROCEDURE
SQL>
आप प्रक्रिया_नाम का उपयोग करके प्रक्रियाओं की सूची केवल तभी प्राप्त कर सकते हैं जब इसे पैकेज में लपेटा गया हो।
SQL> -- package
SQL> CREATE OR REPLACE
2 PACKAGE new_pack
3 IS
4 PROCEDURE new_proc;
5 END new_pack;
6 /
Package created.
SQL>
SQL> -- package body with a procedure
SQL> CREATE OR REPLACE
2 PACKAGE BODY new_pack
3 IS
4 PROCEDURE new_proc
5 IS
6 BEGIN
7 NULL;
8 END;
9 END new_pack;
10 /
Package body created.
SQL> SELECT owner,
2 object_name,
3 procedure_name,
4 object_type
5 FROM all_procedures
6 WHERE owner='LALIT'
7 AND procedure_name='NEW_PROC';
OWNER OBJECT_NAME PROCEDURE_NAME OBJECT_TYPE
----- --------------- --------------- -----------
LALIT NEW_PACK NEW_PROC PACKAGE
SQL>
अब आप प्रक्रिया_नाम को वास्तविक प्रक्रिया के रूप में, और ऑब्जेक्ट_नाम को package_name के रूप में देख सकते हैं।
बेशक, ज्यादातर उत्पादन प्रणालियों में हमारे पास पैकेज होंगे, और अकेले प्रक्रियाएं नहीं होंगी। लेकिन, परीक्षण और डेमो के दौरान, हम अकेले प्रक्रियाओं को संकलित और चलाते हैं। इसलिए, यह जानना अच्छा है कि Oracle *_PROCEDURES विचारों में जानकारी को कैसे बनाए रखता है ।