1. 써야하는 이유 |
가끔씩 DB의 어떤 일련의 작업이 필요한 경우가 있다.
가령 데이터를 인서트 한다음 어떤 테이블에서 어떤 로우를 삭제한다거나.. 등등
이런 간단한 것을 스토어드 프로시저로 만든다음에 호출하는 것은 개발상에도 공수가 많이들고.
관리적인 측면에서 볼때도 좋지않고, 또 효율성 측면에서도 별로 좋지 않은 것 같다.
이럴때는 익명프로시저를 만들어서 쓰면 편리하다.
2. 방법 |
<update id="updateAll" parameterType="java.util.List" statementType="CALLABLE">
BEGIN
<foreach collection="list" item="item" index="index" separator=";">
UPDATE TABLE_NAME
SET COL1 = #{item.col1}
WHERE col2 = #{item.col2}
</foreach>;
END;
</update>
3. 활용 예 |
위의 코드를 활용한다면 다중 업데이트, 다중 인서트 등에 활용 될 수 있을 것이다.