LIST를 mybatis 기술로 dual 로 테이블 만들어서 mearge 시키기
<insert id="merge">
MERGE INTO TAG_DATA R1
USING (
<foreach collection="list" item="item" open="" close="" separator="union">
SELECT
#{item.tagId} AS TAG_ID
,#{item.tagValue} AS TAG_VALUE
,#{item.tagSttusCd} AS TAG_STTUS_CD
,TO_DATE(#{item.updtDt},'YYYYMMDDHH24MISS') AS UPDT_DT
FROM SYS.DUAL
</foreach>
) T1
ON (R1.TAG_ID = T1.TAG_ID
AND R1.UPDT_DT = T1.UPDT_DT
)
WHEN NOT MATCHED THEN
INSERT
<trim prefix="(" suffix=")" suffixOverrides="," >
TAG_ID
,TAG_VALUE
,TAG_STTUS_CD
,UPDT_DT
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
T1.TAG_ID
,T1.TAG_VALUE
,T1.TAG_STTUS_CD
,T1.UPDT_DT
</trim>
</insert>
'언어 > DB' 카테고리의 다른 글
[ORACLE] 컬럼 추가,삭제 (0) | 2021.08.12 |
---|---|
[ORACLE] 시간 컨트롤 (2) | 2021.07.02 |
[ORACLE] JOB BATCH 만들기 (0) | 2021.06.10 |
[ INDEX ] index 걸기 (0) | 2016.07.18 |
DB 프로시저 내에 SYSOUT하기 (0) | 2016.01.05 |