Comment puis-je jeter le corps d'une fonction ou une procédure lors de l'utilisation de SQLPLUS pour vous connecter à une base de données Oracle? P>
3 Réponses :
select text from user_source where type = 'PROCEDURE' and name='YOURPROCEDURENAME' order by line;
De même type = 'Fonction' et nom = 'YourfonctionName'.
Nous avons plusieurs schémas différents mis en place. Dois-je faire quelque chose de spécial pour faire face à ceux-ci?
Vous pouvez vous connecter au schéma spécifique et user_source ne contiendra que la source de la schéma. Ou vous pouvez vous connecter en tant que DBA et la table DBA_SOURCE aura également une colonne propriétaire que vous pouvez inclure dans votre clause où vous pouvez spécifier le schéma qui vous intéresse.
En fait, vous voulez "Sélectionner un texte". La colonne ligne a le numéro de ligne.
Utilisation:
SELECT us.name, us.type, us.text FROM USER_SOURCE us WHERE us.type IN ('PROCEDURE', 'FUNCTION') ORDER BY name, line
Une autre solution consiste à utiliser le dbms_metadata em> strud> API Vous pouvez l'utiliser pour toutes les métadonnées, y compris Tables, index et contraintes em> strong>. p> p>
Upvoting parce que ces "lignes définies / long" seront nécessaires pour les autres mécanismes également, je pense.
@MonoJohnny, défini long code> n'est pas nécessaire pour les autres mécanismes i>. Toujours +1, comme dbms_metadata est i> la voie à suivre, imho.