Sie können gespeicherte Prozeduren, die mit EXTERNAL NAME LANGUAGE JAVA erstellt wurden, als Wrapper für Java-Methoden verwenden. In diesem Abschnitt wird beschrieben, wie Sie Ihre Java-Methode so schreiben, dass OUT- oder INOUT-Parameter in der gespeicherten Prozedur benutzt werden können.
Java hat keine explizite Unterstützung für INOUT- oder OUT-Parameter. Anstelle dessen können Sie ein Array des Parameters verwenden. Beispiel: Um einen Ganzzahl-OUT-Parameter zu benutzen, erstellen Sie ein Array von genau einer Ganzzahl:
public class Invoice { public static boolean testOut( int[] param ) { param[0] = 123; return true; } } |
Die folgende Prozedur benutzt die testOut-Methode:
CREATE PROCEDURE testOut( OUT p INTEGER ) EXTERNAL NAME 'Invoice.testOut([I)Z' LANGUAGE JAVA; |
Die Zeichenfolge ([I)Z
ist eine Java-Methodensignatur, die anzeigt, dass die Methode einen einzelnen Parameter hat, der ein Array von Ganzzahlen
darstellt und einen Booleschen Wert zurückgibt. Sie müssen die Methoden so definieren, damit der Methodenparameter, den Sie
als OUT- oder INOUT-Parameter verwenden wollen, ein Array eines Java-Datentyps ist, der dem SQL-Datentyp des OUT- oder INOUT-Parameters
entspricht.
Um dies zu testen, rufen Sie die gespeicherte Prozedur mit einer nicht initialisierten Variablen auf.
CREATE VARIABLE zap INTEGER; CALL testOut( zap ); SELECT zap; |
Die Ergebnismenge ist 123
.
Hinweise zur Syntax, einschließlich der Methodensignatur, finden Sie unter CREATE PROCEDURE-Anweisung [externer Aufruf].
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |