Я пытаюсь использовать представление all_identifiers из PL / SCOPE для обнаружения вызовов процедур и функций, но не отображаются все вызовы, некоторые отсутствуют.
У меня есть следующий код в пакете(PKG_1) в строке 4216:
tmpParameterId:= PKG_2.function1(var1, var2, var3);
И когда я запускаю запрос:
select * from ALL_IDENTIFIERS where upper(object_name) = 'PKG_1' and line = '4216';
, я получаю следующие результаты (владелец | имя | тип | имя_объекта | тип_объекта | использование |строка):
SYSADM var3 FORMAL IN PKG_1 PACKAGE BODY REFERENCE 4216
SYSADM var2 FORMAL IN PKG_1 PACKAGE BODY REFERENCE 4216
SYSADM var1 FORMAL IN PKG_1 PACKAGE BODY REFERENCE 4216
SYSADM TMPPARAMETERID VARIABLE PKG_1 PACKAGE BODY ASSIGNMENT 4216
И я не получаю использование CALL для function1. У меня есть подобный код в других частях пакета, и он показывает эти вызовы. Действительно потерян здесь, так как я не могу сказать, почему некоторые CALL хранятся в all_identifiers, а некоторые нет.