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. Definieren Sie die Methode so, dass der Methodenparameter, den Sie als OUT-
oder INOUT-Parameter verwenden möchten, 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 © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |