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%')
自己参照を無視する必要がありますが、それは簡単に見つけることができます。
また、user/all_viewsから「view」ソースを確認する必要があります。ただし、ビューソースのクエリに関する他の質問を参照してください。
パッケージまたはトップレベルの機能/手順が一緒に使用されているかどうかを確認することもできます
select * from all_dependencies
where referenced_name like '%PACKAGE_NAME%';
注意:必要に応じてuser_をall_/dba_に切り替えてください
特に呼び出されていない関数を探している場合、別のオプションは、警告をオンにしてコードをコンパイルしてから、PLW-06002とLPW-06006を探すことです
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