Я использую Spring JDBC и оракул SQL.
используя класс SpringJDBC MapSqlParameterSource, я сопоставил данные, которые хочу объединить.
Теперь я хочу использовать оператор слияния для обновления/вставки таблицы базы данных. Все, что у меня есть, это одна таблица и куча параметров, которые я хочу слить в нее.
merge into proj.person_registry pr
using ( ! parameters should go here somehow? )
on (pr.id = :id or pr.code = :code)
when matched then
update set pr.code = :code,
pr.name = :name,
pr.firstname = :firstname,
pr.cl_gender = :cl_gender,
pr.cl_status = :cl_status,
pr.aadress = :aadress,
pr.aadress_date = :aadress_date
when not matched then
insert values (:code, :name, :firstname, :cl_gender, :cl_status, ;aadress, :aadress_date);
Нужно ли как-то создавать временную таблицу для ключевого слова using или есть другой способ? как бы я пошел о слиянии, как это?
также есть два уникальных ключа pr.id и pr.code. Иногда параметр :id имеет значение null, когда это происходит, я хочу получить оператор обновления на основе сопоставления pr.code с :code. Будет ли это работать, если мое обновление содержит строку:
update set pr.code = :code,