Я пытаюсь сделать вставку в таблицу в 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, которые я использую для подключения, но я не могу его найти.
Знаете ли вы об альтернативе?Дело в том, что данных будет много, поэтому я не хочу вызывать процедуру из программы для каждого фрагмента данных, который мне нужно вставить.Спасибо за помощь.