您可以将使用 EXTERNAL NAME LANGUAGE JAVA 创建的存储过程用作 Java 方法的包装。本节介绍如何编写 Java 方法以在存储过程中利用 OUT 或 INOUT 参数。
Java 不显式支持 INOUT 或 OUT 参数。相反,您可以使用参数数组。例如,要使用整型 OUT 参数,请创建一个刚好由一个整数组成的数组:
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讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |