EXTERNAL NAME LANGUAGE JAVA を使用して作成したストアドプロシージャは、Java メソッドのラッパーとして使用できます。この項では、ストアドプロシージャ内で OUT または INOUT パラメータを利用する Java メソッドの記述方法について説明します。
Java は、INOUT または OUT パラメータの明示的なサポートはしていません。ただし、パラメータの配列は使用できます。たとえば、整数の OUT パラメータを使用するには、1 つの整数だけの配列を作成します。
public class Invoice { public static boolean testOut( int[] param ) { param[0] = 123; return true; } } |
次のプロシージャでは、testOut メソッドを使用します。
CREATE PROCEDURE testOut( OUT p INTEGER ) EXTERNAL NAME 'Invoice.testOut([I)Z' LANGUAGE JAVA; |
文字列 ([I)Z
は Java メソッドのシグネチャで、メソッドが単一のパラメータを持ち、このパラメータが整数の配列であり、ブール値を返すことを示しています。OUT または INOUT パラメータとして使用するメソッドパラメータが、OUT または INOUT
パラメータの SQL データ型に対応する Java データ型の配列になるように、メソッドを定義します。
これをテストするには、初期化されていない変数を使用してストアドプロシージャを呼び出します。
CREATE VARIABLE zap INTEGER; CALL testOut( zap ); SELECT zap; |
結果セットは 123
です。
メソッドのシグネチャを含む構文の詳細については、CREATE PROCEDURE 文 [外部呼び出し]を参照してください。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |