在 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 中设置每个参数两次?