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

आप कैसे बता सकते हैं कि पीएल/एसक्यूएल पैकेज, प्रक्रिया, या फ़ंक्शन का उपयोग किया जा रहा है या नहीं?

आप USER/ALL_source को क्वेरी करने का भी प्रयास कर सकते हैं:

SELECT * FROM all_source
where UPPER(TEXT) like UPPER('%procedure_name%')

या

SELECT * FROM all_source
where UPPER(TEXT) like UPPER('%package.function_name%')

आपको स्वयं के संदर्भों को अनदेखा करना होगा, लेकिन इसे पहचानना आसान होना चाहिए।

आपको उपयोगकर्ता/all_views से "दृश्य" स्रोत भी देखना होगा। हालांकि व्यू सोर्स को क्वेरी करने के बारे में अन्य प्रश्न देखें।

आप यह भी जांच सकते हैं कि क्या किसी पैकेज या शीर्ष स्तरीय फ़ंक्शन/प्रक्रिया का उपयोग किया गया है

select * from all_dependencies
where referenced_name like '%PACKAGE_NAME%';

ध्यान दें:उपयोगकर्ता_ को आवश्यकतानुसार सभी_/dba_ के साथ बदलें

यदि आप विशेष रूप से बिना बुलाए कार्यों की तलाश कर रहे हैं तो दूसरा विकल्प है कि आप अपने कोड को WARNINGS के साथ कम्पाइलर करें और फिर PLW-06002 और LPW-0606

देखें।
exec DBMS_WARNING.add_warning_setting_cat('ALL','ENABLE','SESSION')
create or replace function x return number
as
procedure y is begin null; end;
begin
return 0;
return 1;
end;

show errors

Errors for FUNCTION X:

LINE/COL ERROR
-------- -----------------------------------------------------------------
1/1      PLW-05018: unit X omitted optional AUTHID clause; default value DEFINER used
3/1      PLW-06006: uncalled procedure "Y" is removed.
6/1      PLW-06002: Unreachable code


  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 में एक बाधा का नाम कैसे खोजें

  2. डेल्फी में बीडीई बनाम एडीओ

  3. एसक्यूएल:एक विशिष्ट चयन द्वारा यूनियन और ऑर्डर का उपयोग कैसे करें?

  4. Oracle PLSQL ब्लॉक संरचना और प्रकार

  5. ओरेकल (+) ऑपरेटर