Ich versuche, eine gespeicherte Prozedur mit mehreren Ein- und Ausgangsparametern auszuführen. Der Vorgang kann nur in meinem Bereich "Verbindungen" angezeigt werden, indem Sie unter "Andere Benutzer" navigieren | Pakete | |
Wenn ich mit der rechten Maustaste klicke, lauten die Menüpunkte "Mitglieder sortieren nach ..." und "Unit-Test erstellen" (ausgegraut). Die Möglichkeit, die Prozedur auszuführen, scheint nicht möglich zu sein, wenn der Benutzer darauf zugreift.
Ich habe versucht, ein Beispiel für das Erstellen eines anonymen Blocks zu finden, damit ich die Prozedur als SQL-Datei ausführen kann, habe aber nichts gefunden, was funktioniert.
Weiß jemand, wie ich diese Prozedur von SQL Developer ausführen kann? Ich verwende Version 2.1.1.64.
Danke im Voraus!
EDIT 1:
Die Prozedur, die ich aufrufen möchte, hat diese Signatur:
user.package.procedure(
p_1 IN NUMBER,
p_2 IN NUMBER,
p_3 OUT VARCHAR2,
p_4 OUT VARCHAR2,
p_5 OUT VARCHAR2,
p_6 OUT NUMBER)
Wenn ich meinen anonymen Block so schreibe:
DECLARE
out1 VARCHAR2(100);
out2 VARCHAR2(100);
out3 VARCHAR2(100);
out4 NUMBER(100);
BEGIN
EXECUTE user.package.procedure (33,89, :out1, :out2, :out3, :out4);
END;
Ich bekomme den Fehler:
Bind Varialbe "out1" is NOT DECLCARED
anonymous block completed
Ich habe versucht, die out * -Variablen zu initialisieren:
out1 VARCHAR2(100) := '';
aber bekomme den gleichen Fehler:
EDIT 2:
Basierend auf Alex 'Antwort habe ich versucht, die Doppelpunkte vor den Params zu entfernen und Folgendes zu erhalten:
Error starting at line 1 in command:
DECLARE
out1 VARCHAR2(100);
out2 VARCHAR2(100);
out3 VARCHAR2(100);
out4 NUMBER(100);
BEGIN
EXECUTE user.package.procedure (33,89, out1, out2, out3, out4);
END;
Error report:
ORA-06550: line 13, column 17:
PLS-00103: Encountered the symbol "USER" when expecting one of the following:
:= . ( @ % ; immediate
The symbol ":=" was substituted for "USER" to continue.
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action: