Bạn cũng có thể thử truy vấn USER / ALL_source:
SELECT * FROM all_source
where UPPER(TEXT) like UPPER('%procedure_name%')
hoặc
SELECT * FROM all_source
where UPPER(TEXT) like UPPER('%package.function_name%')
Bạn sẽ phải bỏ qua các tham chiếu bản thân, nhưng điều đó sẽ dễ dàng nhận ra.
Bạn cũng sẽ cần kiểm tra nguồn "view" từ user / all_views. Xem câu hỏi khác về truy vấn nguồn chế độ xem.
bạn cũng có thể kiểm tra xem một gói hoặc chức năng / thủ tục cấp cao nhất được sử dụng với
select * from all_dependencies
where referenced_name like '%PACKAGE_NAME%';
NB:chuyển user_ với all_ / dba_ nếu cần
nếu bạn đang đặc biệt tìm kiếm các chức năng chưa được gọi thì một tùy chọn khác là biên dịch mã của bạn với WARNINGS được bật và sau đó tìm PLW-06002 và 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