Java 调用传递表类型参数的存储过程

Java 调用传递表类型参数的存储过程,java,stored-procedures,jdbc,hana,hana-sql-script,Java,Stored Procedures,Jdbc,Hana,Hana Sql Script,我在HANA数据库中创建了这个存储过程,它使用两个参数,一个是表类型,另一个是varchar CREATE PROCEDURE UPDATE_GSTR(IN p_Input_Values "GSTR11".p_Input_Values , IN p_TRANS_ID VARCHAR(100)) 现在我想用Java调用这个过程,我已经写了这样的东西 Connection dbConnection = null; CallableStatement callableStatement = null

我在HANA数据库中创建了这个存储过程,它使用两个参数,一个是表类型,另一个是
varchar

CREATE PROCEDURE UPDATE_GSTR(IN p_Input_Values "GSTR11".p_Input_Values , IN p_TRANS_ID VARCHAR(100))
现在我想用Java调用这个过程,我已经写了这样的东西

Connection dbConnection = null;
CallableStatement callableStatement = null;

String storedProcedure = "{call UPDATE_GSTR(?,?)}";

dbConnection = jdbc.getDataSource().getConnection();
callableStatement = dbConnection.prepareCall(storedProcedure);

callableStatement.setString(1, "");
callableStatement.setString(2, "");

// execute store procedure
callableStatement.executeUpdate();

有人能告诉我在调用此存储过程时如何将对象作为参数中的表实体传递吗?

不能在SAP HANA之外创建表类型的输入参数。 对于客户端应用程序,仍然使用表类型参数的一种方法是使用与参数表具有相同结构的临时表

然后,JAVA应用程序将首先填充临时表,并在第二步中调用该过程

String storedProcedure = "{call UPDATE_GSTR("<temp_table_name>",?)}";
String storedProcedure=“{call UPDATE_GSTR(“,?)}”;

中的
是数据类型吗?在调用方法的任何位置传递此类型的值。感谢您的评论。实现这个概念的目的是将负载从java转移到数据库,并提高性能,但似乎没有办法做到这一点。我不确定我是否明白你的意思。无论采用哪种方式传输表类型参数的内容,都必须以某种方式构建表。构建用于将数据传递到过程中的服务器端临时表不太方便,但要做的工作并不多。