오라클DB 시퀀스 현재 / 다음 보여주기

조승현·2022년 8월 29일
0
		// board_seq를 만들었다고 가정한 다음
        // 현재번호를 알고 싶은 경우
        SELECT board_seq.CURRVAL FROM DUAL;
        // 다음번호를 알고 싶은 경우
        SELECT board_seq.NEXTVAL FROM DUAL;

활용 예시 : 쿼리를 실행하기 전에 번호를 알아낸 뒤 keyProperty에 담아서 사용하기

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gd.hr.mapper.IBoardMapper">
	<!-- 추가 board -->
	<insert id="insertBoard" parameterType="com.gd.hr.vo.Board">
		<selectKey keyProperty="boardNo" order="BEFORE"> <!-- com.gd.hr.vo.Board setBoardNo(selectKey) -->
			<!-- mariadb SELECT LAST_INSERT_ID() -->
       		SELECT board_seq.NEXTVAL FROM DUAL
		</selectKey>
		
		INSERT INTO board (
			board_no,
			board_title,
			board_content,
			board_date
		) VALUES (
			#{boardNo},
			#{boardTitle},
			#{boardContent},
			SYSDATE
		)
	</insert>
</mapper>
profile
소통을 좋아하는 개발자입니다

0개의 댓글