PLS-00306 Fehler: Wie finde ich das falsche Argument?

11

PLS-00306: Falsche Anzahl oder Arten von Argumenten beim Aufruf von 'string'

Ursache: Dieser Fehler tritt auf, wenn der Aufruf des benannten Unterprogramms keiner Deklaration für diesen Unterprogrammnamen zugeordnet werden kann. Der Name des Unterprogramms ist möglicherweise falsch geschrieben, ein Parameter hat möglicherweise den falschen Datentyp, die Deklaration ist möglicherweise fehlerhaft oder die Deklaration ist möglicherweise falsch in der Blockstruktur platziert. Dieser Fehler tritt beispielsweise auf, wenn die integrierte Quadratwurzelfunktion SQRT mit einem falsch geschriebenen Namen oder mit einem Parameter des falschen Datentyps aufgerufen wird.

Aktion: Überprüfen Sie die Schreibweise und Deklaration des Unterprogrammnamens. Stellen Sie außerdem sicher, dass der Aufruf korrekt ist, die Parameter vom richtigen Datentyp sind und dass die Deklaration korrekt in der Blockstruktur platziert ist, wenn es sich nicht um eine integrierte Funktion handelt.

Wie identifiziere ich schnell das falsche Argument?

Ich habe eine gespeicherte Prozedur mit Dutzenden von Parametern. Gibt es eine einfache Möglichkeit, die Unterschiede zwischen dem verwendeten und dem definierten Verfahren zu überprüfen? Ich möchte es nicht Zeile für Zeile überprüfen.

Stephan Schielke
quelle

Antworten:

11

Nein, hier gibt es wirklich keine Abkürzungen. Untersuchen Sie die Dinge in der folgenden Reihenfolge:

  1. Überprüfen Sie den Prozedurnamen.
  2. Überprüfen Sie die Anzahl der Parameter.
  3. Überprüfen Sie die Arten der Parameter.
  4. Überprüfen Sie die Parameternamen.
Leigh Riffel
quelle
4
Überprüfen Sie auch die Parameternamen, wenn Sie sie beim Namen aufrufen. Das hat mich nur erwischt.
swref
Das Überprüfen des Namens von Parametern ist der Schlüssel für mich, danke.
Arpit Aggarwal
Es könnte der Objekttyp sein
Arthur