티스토리 뷰

DB

insert후 시퀀스 값 리턴

wldnjd2 2023. 8. 22. 14:41
    <insert id="insertPmTask" parameterType="PmTaskVO">
        /* PmTaskMapper.insertPmTaskMapp */
        INSERT
            INTO pm_task
            ( pm_task_id
            , pm_id
            , pm_task_name
            , strd_task_time_h
            , del_yn
            , reg_user_id
            , reg_dttm
            , mod_user_id
            , mod_dttm)
        VALUES
            ( ISEQ$$_132655.NEXTVAL
            , #{pmId}
            , #{pmTaskName}
            , #{strdTaskTimeH}
            , 'N'
            , #{sessionUserId}
            , SYSDATE
            , #{sessionUserId}
            , SYSDATE)
        <selectKey keyProperty="pmTaskId" resultType="Integer" order="AFTER">
            SELECT ISEQ$$_132655.CURRVAL FROM DUAL
        </selectKey>
    </insert>

 

반환값이 VO에 맵핑되서 들어감 ~

 

 

 

 

 

 

1.

아래의 코드가 데이터그립에서 실행이 안됨

그 이유는 시퀀스 값이 세션에 남아있지 않기 때문 

 

 

 

 

2.

따라서 NEXTVAL로 시퀀스 세션 값을 가져와야 됨

ISEQ$$_132655.NEXTVAL

 

 

 

3.

시퀀스의 현재값을 조회해줌

+1은 안해줘도 됨 (NEXTVAL)

SELECT ISEQ$$_132655.CURRVAL FROM DUAL

 

 

'DB' 카테고리의 다른 글

재귀 (추후삭제)  (0) 2023.10.10
DB데이터를 바꿔서 처리하기  (0) 2023.01.17
형변환하기 ::  (0) 2023.01.10
[Postgresql] 형변환  (0) 2022.09.27
boolean의 jdbcType  (0) 2022.09.27
댓글