调用存储过程传递 table 类型参数
Call stored procedure passing table type argument
我在 HANA 数据库中创建了这个存储过程,它有两个参数,一个是 table 类型,另一个是 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();
谁能告诉我如何在调用此存储过程时将对象作为参数中的 table 实体传递?
无法在 SAP HANA 外部创建 table 类型的输入参数。
对于客户端应用程序,仍然使用 table 类型参数的一种方法是使用具有与参数 table.
相同结构的临时 tables
您的 JAVA 应用程序将首先填充临时 table 并在第二步调用该过程
String storedProcedure = "{call UPDATE_GSTR("<temp_table_name>",?)}";
我在 HANA 数据库中创建了这个存储过程,它有两个参数,一个是 table 类型,另一个是 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();
谁能告诉我如何在调用此存储过程时将对象作为参数中的 table 实体传递?
无法在 SAP HANA 外部创建 table 类型的输入参数。 对于客户端应用程序,仍然使用 table 类型参数的一种方法是使用具有与参数 table.
相同结构的临时 tables您的 JAVA 应用程序将首先填充临时 table 并在第二步调用该过程
String storedProcedure = "{call UPDATE_GSTR("<temp_table_name>",?)}";