web-dev-qa-db-fra.com

PLS-00306 Erreur: comment trouver le mauvais argument?

PLS-00306: nombre ou types d'arguments incorrects lors de l'appel à 'chaîne'

Cause: cette erreur se produit lorsque l'appel de sous-programme nommé ne peut être mis en correspondance avec aucune déclaration pour ce nom de sous-programme. Le nom du sous-programme peut être mal orthographié, un paramètre peut avoir le mauvais type de données, la déclaration peut être défectueuse ou la déclaration peut être placée incorrectement dans la structure de bloc. Par exemple, cette erreur se produit si la fonction de racine carrée intégrée SQRT est appelée avec un nom mal orthographié ou avec un paramètre du mauvais type de données.

Action: Vérifiez l'orthographe et la déclaration du nom du sous-programme. Confirmez également que son appel est correct, ses paramètres sont du bon type de données et, s'il ne s'agit pas d'une fonction intégrée, que sa déclaration est correctement placée dans la structure du bloc.

Comment identifier rapidement le mauvais argument?

J'ai une procédure stockée avec des dizaines de paramètres. Existe-t-il un moyen simple de vérifier les différences entre la procédure utilisée et la procédure définie? Je ne veux pas le vérifier ligne par ligne ..

11
Stephan Schielke

Non, il n'y a vraiment aucun raccourci ici. Examinez les choses dans l'ordre suivant:

  1. Vérifiez le nom de la procédure.
  2. Vérifiez le nombre de paramètres.
  3. Vérifiez les types de paramètres.
  4. Vérifiez les noms des paramètres.
11
Leigh Riffel