Вызов хранимой процедуры с передачей аргумента типа таблицы

Я создал эту хранимую процедуру в базе данных 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();

Может кто-нибудь сказать мне, как передать объект как табличную сущность в аргументе при вызове этой хранимой процедуры?

1 ответ

Решение

Введенный в таблицу входной параметр не может быть создан за пределами SAP HANA. Для клиентских приложений один из способов по-прежнему использовать типизированные таблицей параметры - это использовать временные таблицы, которые имеют ту же структуру, что и таблица параметров.

Затем ваше JAVA-приложение сначала заполняет временную таблицу и вызывает процедуру на втором этапе.

String storedProcedure = "{call UPDATE_GSTR("<temp_table_name>",?)}";
Другие вопросы по тегам