Скажем, у меня есть пакет my_package с процедурой my_procedure.
Я хочу знать, из каких other_procedures (в некоторых других пакетах) эта процедура используется/вызывается (например, из my_other_package.my_other_procedure)
Это вообще возможно? Если возможно, то как?
Обновление 1:
Я могу использовать ALL_DEPENDENCIES
, но проблема с ALL_DEPENDENCIES
в том, что он дает мне список объектов, которые используют my_package
вообще, а не my_procedure
в нем. my_package
имеет около 50 нечетных функций и процедур, а запрос к ALL_DEPENDENCIES
для пакета my_package
дает мне 30 нечетных результатов.
Моя схема базы данных огромна, и запрос ALL_SOURCES занимает целую вечность.
Обновление 2:
Следующий запрос, созданный с помощью приведенных ниже ответов, кажется, работает достаточно хорошо:
select /*+ parallel(als, 16) */ * from all_source als
where type in ('PROCEDURE','PACKAGE BODY')
and name in ( select NAME from all_Dependencies where referenced_name = 'OE_HEADER_UTIL')
and upper(text) like '%INSERT_ROW%';