Est-il possible de récupérer les noms de toutes les procédures et fonctions qui résident dans un package particulier? Je comprends qu'ils peuvent être glanés (odeurs hack-ish) de la vue ALL_SOURCE
, mais je préférerais une stratégie plus canonique.PL/SQL: Récupération des noms de procédures et de fonctions dans un package
4
A
Répondre
9
DBA_PROCEDURES a les méthodes publiques dans un paquet
SELECT owner,
object_name AS package_name,
procedure_name AS method_name
FROM dba_procedures
WHERE object_type = 'PACKAGE'
Si vous voulez aussi des méthodes privées, ces informations ne sont pas directement accessibles dans le dictionnaire de données. Dans ce cas, vous devrez analyser la source (ce qui serait évidemment plutôt douloureux, en particulier si vous avez des méthodes privées imbriquées dans des méthodes publiques ou privées du paquet).
1
ce qui suit retournera tous les noms de procédure et de fonction d'un package spécifique:
SELECT procedure_name FROM user_procedures WHERE object_name='mypackagename';
+1, vous obtenez également ces informations dans les USER_PROCEDURES et les opinions du public ALL_PROCEDURES –