3 Stimmen

Ausführen einer gespeicherten Prozedur in Oracle

Ich habe eine gespeicherte Prozedur, auf Toad für Oracle rufe ich die Prozedur auf

SELECT FROM PKGName.ProcedureName(1,'10/10/2010','10/23/2010',7,7) 
  FROM DUAL

Auf dieser Prozedur habe ich auch 3 Ausgabeparameter, ich erhalte einen

ORA-00904: PKGName.ProcedureName : Ungültiger Bezeichner

Muss ich die Ausgabeparameter auch bei Aufruf der Prozedur angeben? Wenn ja, wie kann ich sie verwenden?

0 Stimmen

Ich denke, diese Frage passt auch zu oracleoverflow.com

1 Stimmen

Sie können keine Funktion mit Ausgabeparametern aus einer SQL-Anweisung aufrufen. Wie DCookie bereits erwähnt hat, können Sie keine Prozedur aufrufen. Es können nur Funktionen aufgerufen werden.

-1voto

HAL 9000 Punkte 3757

Der Code in der Frage ist syntaktisch falsch, es sollte sein

SELECT PKGName.ProcedureName(1,'10/10/2010','10/23/2010',7,7) FROM DUAL

Allerdings würde das nur für Funktionen funktionieren. Aber da es offensichtlich in Toad funktioniert, gehe ich davon aus, dass der Fragesteller tatsächlich eine Funktion hatte. Ich habe auch die Annahme gemacht, dass die Verwendung von SQL eine Voraussetzung war.

Wenn es darum ging, wie man mehrere Ausgabeparameter verwendet - versuchen Sie, einen benutzerdefinierten Typ zu erstellen. Vielleicht sollte die Frage dann umbenannt werden in "Aufrufen einer Prozedur mit Ausgabeparametern aus SQL in Oracle".

Ansonsten würde eine einfache Wrapper-Funktion ohne Ausgabeparameter die Arbeit erledigen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X