如何使用jdbcTemplate upsert(更新,如果存在,否则插入)到表中

时间:2015-05-28 07:52:44

标签: java sql spring oracle jdbctemplate

如果已经存在Id,我必须更新表中的行,否则使用Spring Jdbc Template在数据库中插入新行。我尝试使用MERGE查询但由于我在单个表上操作,我无法从外部传递插入参数值(合并插入参数应来自DB),如下所示。

MERGE INTO TABLENAME INDS
USING (SELECT PRIMARY_ID SIC FROM TABLENAME  WHERE PRIMARY_ID = '223456789') E
ON (INDS.PRIMARY_ID=E.PRIMARY_ID) 
WHEN MATCHED THEN
UPDATE SET INDS.ROW_MOD_ID='ManualUpdate', ROW_MOD_TMST=sysdate
WHEN NOT MATCHED THEN
INSERT  (INDS.PRIMARY_ID, INDS.ROW_CRE_ID, ROW_CRE_TMST)
VALUES ('223456789', 'ManualInsert', sysdate);

我正在使用Oracle DB并担心性能问题。有没有弹簧功能来解决我的问题?非常感谢任何帮助。

0 个答案:

没有答案