Как я могу передать параметр типа таблицы в процедуру в Oracle из Java? - PullRequest
0 голосов
/ 13 ноября 2018

Я пытаюсь сделать вставку в таблицу в oracle db.Но я хочу отправить список с данными для вставки в таблицу в БД.Я сделал это для SQL, создав тип таблицы, которую я хочу использовать в качестве параметра в процедуре, вот так:

CREATE TYPE budget IS TABLE OF LCH_Budget%ROWTYPE

И процедура:

CREATE OR REPLACE PROCEDURE ORA.INSERT_BUDGET (
budgetParam budget) AS
BEGIN
INSERT INTO ORA_BANK.LCH_CHEQUES_ESCANEADO(
    LCH_DATA,
    LCH_DATA,
    LCH_DATA,
    LCH_DATA,
    LCH_DATA,
    LCH_DATA,
    LCH_DATA,
    LCH_DATA,
    LCH_DATA,
    LCH_DATA,
    LCH_DATA,
    LCH_DATA,
    LCH_DATA,
    LCH_DATA)
    SELECT * FROM budgetParam;
END;
/

это для ORACLE, поэтому в SQL, через Java, для отправки этого параметра мне просто нужно создать Datatable, настраивая поля с соответствующим типом, вот так:

dataTable.addColumnMetadata("LCH_DATA", java.sql.Types.INTEGER);     
        dataTable.addColumnMetadata("LCH_DATA", java.sql.Types.VARCHAR);
        dataTable.addColumnMetadata("LCH_DATA", java.sql.Types.VARCHAR);
        dataTable.addColumnMetadata("LCH_DATA", java.sql.Types.VARCHAR);
        dataTable.addColumnMetadata("LCH_DATA", java.sql.Types.VARCHAR);
        dataTable.addColumnMetadata("LCH_DATA", java.sql.Types.VARCHAR);
        dataTable.addColumnMetadata("LCH_DATA", java.sql.Types.INTEGER);
        dataTable.addColumnMetadata("LCH_DATA", java.sql.Types.VARCHAR);
        dataTable.addColumnMetadata("LCH_DATA", java.sql.Types.VARCHAR);
        dataTable.addColumnMetadata("LCH_DATA", java.sql.Types.INTEGER);
        dataTable.addColumnMetadata("LCH_DATA", java.sql.Types.VARCHAR);
        dataTable.addColumnMetadata("LCH_DATA", java.sql.Types.VARCHAR);
        dataTable.addColumnMetadata("LCH_DATA", java.sql.Types.VARCHAR);
        dataTable.addColumnMetadata("LCH_DATA", java.sql.Types.VARCHAR);

Итак, яЯ хочу повторить этот метод отправки параметров для Oracle, но типы в Oracle и на SQL-сервере отличаются, я искал типы в jdbc, которые я использую для подключения, но я не могу его найти.

Знаете ли вы об альтернативе?Дело в том, что данных будет много, поэтому я не хочу вызывать процедуру из программы для каждого фрагмента данных, который мне нужно вставить.Спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...