Как я могу получить тип метода (будь то ФУНКЦИЯ или ПРОЦЕДУРА) внутри пакета?
CREATE OR REPLACE PACKAGE SAMPLE_PACKAGE IS
PROCEDURE procedure1;
PROCEDURE procedure2;
FUNCTION function1(
key_ IN VARCHAR2) RETURN BOOLEAN;
END SAMPLE_PACKAGE;
Мой пакет будет таким, он будет иметь несколько функций и процедур.
Я пробовал примеры типа Как отличить процедуры и функции в метаданных Oracle? с использованием таблиц user_arguments и user_procedures, но это кажется дорогостоящим, когда дело доходит до большого набора данных
SELECT up.object_name, up.procedure_name, up.overload,
CASE WHEN ua.object_id IS NULL THEN 'PROCEDURE' ELSE 'FUNCTION' END AS method_type
FROM user_procedures up LEFT JOIN user_arguments ua ON ( ua.object_id = up.object_id
AND ua.subprogram_id = up.subprogram_id AND ua.position = 0 )
WHERE up.object_name = 'MY_OBJECT';