Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Gespeicherte Prozeduren, Trigger, Batches und benutzerdefinierte Funktionen » Aufbau von Prozeduren, Triggern und benutzerdefinierten Funktionen

 

Möglichkeiten zum Übergeben von Parametern an Prozeduren

Sie können die Standardwerte der Parameter von gespeicherten Prozeduren mit einer von zwei Formen der CALL-Anweisung nutzen.

Wenn die optionalen Parameter am Ende der Argumentliste in der Anweisung CREATE PROCEDURE stehen, können sie in der CALL-Anweisung weggelassen werden. Als Beispiel sehen wir uns eine Prozedur mit drei INOUT-Parametern an:

CREATE PROCEDURE SampleProcedure( 
       INOUT var1 INT DEFAULT 1,
                     INOUT var2 int DEFAULT 2,
                     INOUT var3 int DEFAULT 3 )
...

In diesem Beispiel wird vorausgesetzt, dass die aufrufende Umgebung drei Variablen eingerichtet hat, die die an die Prozedur übergebenen Werte enthalten:

CREATE VARIABLE V1 INT;
CREATE VARIABLE V2 INT;
CREATE VARIABLE V3 INT;

Die Prozedur "SampleProcedure" kann wie folgt aufgerufen werden, indem nur der erste Parameter übergeben wird, wobei die Standardwerte für var2 und var3 verwendet werden.

CALL SampleProcedure( V1 );

Die Prozedur kann auch wie folgt aufgerufen werden, indem nur der zweite Parameter übergeben wird, wobei der DEFAULT-Wert für den ersten Parameter verwendet wird:

CALL SampleProcedure( DEFAULT, V2 );

Eine flexiblere Methode für den Aufruf von Prozeduren mit optionalen Argumenten ist die Übergabe der Parameter nach Namen. Die Prozedur "SampleProcedure" kann wie folgt aufgerufen werden:

CALL SampleProcedure( var1 = V1, var3 = V3 );

Die zweite Möglichkeit:

CALL SampleProcedure( var3 = V3, var1 = V1 );