В Oracle дана простая таблица данных:
create table data (
id VARCHAR2(255),
key VARCHAR2(255),
value VARCHAR2(511));
предположим, я хочу "вставить или обновить" значение. У меня есть что-то вроде:
merge into data using dual on
(id='someid' and key='testKey')
when matched then
update set value = 'someValue'
when not matched then
insert (id, key, value) values ('someid', 'testKey', 'someValue');
Есть ли лучший способ, чем этот? Эта команда имеет следующие недостатки:
- Каждый литерал должен быть набран дважды (или добавлен дважды через установку параметров)
- «Использование двойного» синтаксиса кажется вздорным
Если это лучший способ, есть ли способ дважды установить каждый параметр в JDBC?