J'ai cherché le net et j'ai trouvé un Post qui utilise l'extrait suivant pour vérifier si une procédure stockée existe:
select * from USER_SOURCE where type='PROCEDURE' and name='my_stored_procedure.'
6 Réponses :
Alternatives:
user_procedures: strong> p> user_objects: strud> p>
Exactement ce que je cherchais ... merci!
+1 .. les autres vues à retenir: all_Objects code>,
dba_objects code> (si vous avez ce privilège). Idem pour
_procédés code> aussi.
Si vous avez une procédure non valide (en raison d'erreurs de compilation), la procédure non valide est la piste de code dans user_Objects code> et
all_Objects code> mais non répertoriée dans
user_procedures code> et < Code> All_procedures Code>.
Et si la procédure stockée est à l'intérieur de l'emballage?
Le seul moyen de voir si une procédure existe dans la base de données est bien que la section suivante dba_Objects code>. L'inconvénient ici est que seul un DBA a accès à cette vue. Deuxième meilleur utilise All_Objects.
All_Objects CODE> Vous montre les objets pour lesquels vous avez un privilège.
user_Objects code> ne vous montre que vos propres objets. P>
Sélectionnez * de user_source où type = 'procédure' et nom = 'my_stortored_procedure.' p>
Qu'est-ce que c'est? La même chose que la question?
Exécutez la requête ci-dessous dans SQL * Plus, Test ODBC, ... P>
Sélectionnez Texte de All_source où nom = 'my_procedure' commander par ligne p>
où my_procedure est le nom de la procédure stockée. P>
ci-dessous est l'exemple de sortie: p>
Obtenir des données tout:
"TEXTE"
"Procédure USP_GET_BLOB
"(
"P_doc_id int,
"P_doc_text Out Blob)
"Comme
"Commencer
"Sélectionnez B1
dans p_doc_text
"De Blobtest
"Où id = p_doc_id;
"fin;" p>
quelque chose qui a fonctionné pour moi!
OCI Statement Execution failure.ORA-06553: PLS-306: wrong number or types of arguments in call to 'MY_SP_NAME'
Je n'ai pas pu trouver une procédure stockée avec aucune des méthodes ci-dessus. p>
Raison: la procédure stockée était à l'intérieur du paquet. Oracle utilise des packages pour recueillir plusieurs procédures stockées dans un module. P>