<insert id="insertWidgetBackup">
<selectKey keyColumn="NEW_BACK_NO,LAYOUT_TYPE" keyProperty="newBackNo,layoutType" resultType="map" order="BEFORE">
SELECT
MAX(BACK_NO)+1 AS NEW_BACK_NO,
CCWV.LAYOUT_TYPE AS LAYOUT_TYPE
FROM
TB_COM_WIDGET_RECOVERY,
(SELECT LAYOUT_TYPE
FROM CM_CFG_WIDGET_VIEW
WHERE VIEW_NO = #{viewNo} AND MENU_NO = #{menuNo} ) CCWV;
</selectKey>
INSERT INTO TB_COM_WIDGET_RECOVERY
(BACK_NO, VIEW_NO, MENU_NO, LAYOUT_TYPE, MEMO, USER_ID, CREATE_DATE, IS_DEL)
VALUES(#{newBackNo}, #{viewNo}, #{menuNo}, #{layoutType}, #{memo}, #{userId}, sysdate(), 0);
</insert>
SELECTKEY 속성
1) keyColumn : selectKey 내의 쿼리의 컬럼명
2) keyProperty : selectKey에서 결과값을 리턴받을 변수명
selectKey 여러개 가져올 때는 반드시 , 콤마 한 다음 띄어쓰기 금지!!!
keyProperty="newBackNo, layoutType" XXXXXX
-> keyProperty="newBackNo,layoutType" 이렇게 붙여서 써야한다
3) resultType : long, string로도 가능하지만 multiple에서는 map으로
4) order: 쿼리 실행 전에 할지, 후에 할지
'DB' 카테고리의 다른 글
MS-SQL 설치 및 DBeaver에 MS-SQL 연결 (MS-SQL의 인스턴스 개념 알고가기) (0) | 2025.01.15 |
---|---|
DataBase별 문자열 데이터 선언 시 길이 차이 (0) | 2023.04.10 |
[MySQL] now()와 sysdate()의 차이 (0) | 2023.04.10 |
댓글