본문 바로가기
개발자 & 회사 관련 기록/오류 기록

[mybatis / ORACLE] 다중 INSERT문 사용

by nyeoo 2025. 5. 14.

● insert 쿼리에 <foreach> 태그를 사용하려고 하는데 ORA-00933 오류 (명령어가 올바르게 종료되지 않음)가 계속 나서 시행착오를 겪다가 아래 방법으로 해결

<insert id="insertmethod" parameterType="list">
    <foreach collection="list" item="id" index="index" open="INSERT ALL" close="SELECT * FROM DUAL">
        INTO TABLENAME
        (
            CODE
          , ID
          , SEQ
          , DATE
        )  
        VALUES                             
        (
            '1'
          , #{id}
          , (SELECT NVL(MAX(SEQ),0)+1 FROM TABLENAME WHERE ID = #{id})
          , SYSDATE 
        )
    </foreach>
</insert>

 

=> index 는 사용하지 않으면 제거