Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

क्या यह निर्धारित करने का कोई तरीका है कि ओरेकल में किसी पैकेज की स्थिति है या नहीं?

ऐसा लगता है कि आप जो चाहते हैं वह उन सभी पैकेजों को सूचीबद्ध करने में सक्षम होना है जिनमें संभावित रूप से राज्य हो सकता है।

आप जो खोज रहे हैं वह केवल ऐसे पैकेज हैं जिनमें कोई वैश्विक चर या स्थिरांक है। एकल पैकेज के लिए, यह निरीक्षण द्वारा काफी सरल है। हालांकि, सभी पैकेजों को एक स्कीमा में देखने के लिए, आप PL/स्कोप का उपयोग कर सकते हैं:

सबसे पहले, स्कीमा स्वामी के रूप में लॉग इन करें, अपने सत्र में PL/Scope चालू करें:

alter session set plscope_settings='IDENTIFIERS:ALL';

फिर, अपने सभी पैकेज बॉडी को फिर से कंपाइल करें।

फिर, पैकेज स्तर पर घोषित सभी चर और स्थिरांक खोजने के लिए इस क्वेरी को चलाएँ:

select object_name AS package,
       type,
       name AS variable_name
from user_identifiers
where object_type IN ('PACKAGE','PACKAGE BODY')
and usage = 'DECLARATION'
and type in ('VARIABLE','CONSTANT')
and usage_context_id in (
  select usage_id
  from user_identifiers
  where type = 'PACKAGE'
  );

मेरा सुझाव है कि पैकेजों की परिणामी सूची आपका लक्ष्य होगी।

यदि आप 11gR2 पर हैं, तो स्थिरांक अब इस समस्या का कारण नहीं हैं, इसलिए आप इसके बजाय इस क्वेरी का उपयोग करेंगे:

select object_name AS package,
       type,
       name AS variable_name
from user_identifiers
where object_type IN ('PACKAGE','PACKAGE BODY')
and usage = 'DECLARATION'
and type = 'VARIABLE'
and usage_context_id in (
  select usage_id
  from user_identifiers
  where type = 'PACKAGE'
  );



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL डेवलपर से Excel में डेटा कैसे निर्यात करें?

  2. Oracle डेटाबेस में BLOB की तुलना अन्य BLOB से करें

  3. मैं इस Oracle परिणामसेट को पंक्ति प्राथमिकता के अनुसार मूल्यों में कैसे संपीड़ित करूं, नल को अनदेखा कर रहा हूं?

  4. Oracle डेटाबेस में PL/SQL फ़ंक्शंस का परिचय

  5. यदि Oracle वॉलेट का उपयोग किया जाता है तो सही JDBC URL सिंटैक्स क्या है?