인서트 성공 후 리턴이 없어서 -1이 뜬다.. 어차피 에러가 나면 익셉션이 뜨기 떄문에 걱정은 안하지만
흐음 🤔
<insert id="insertFeed" parameterType="FeedDto">
BEGIN
FOR DATA_ROW IN (
SELECT STUDY_GROUP_ID
FROM STUDY_GROUP_MEMBER
WHERE MEMBER_EMAIL = #{memberemail}
) LOOP
INSERT INTO FEED (
FEED_ID,
FEED_CONTENT,
STUDY_GROUP_ID,
MEMBER_EMAIL,
CREATED_AT
)
VALUES
(
FEED_SEQ.NEXTVAL,
#{feedcontent},
DATA_ROW.STUDY_GROUP_ID ,
#{memberemail},
SYSDATE
)<![CDATA[;]]>
END LOOP<![CDATA[;]]>
END<![CDATA[;]]>
</insert>
서브쿼리에서 나온 값들을 DATA_ROW 변수에 담아서 그만큼 포문을 돌리면서 그 값을 인서트문에서 사용할 수 있다.
'Database > Oracle, MyBatis' 카테고리의 다른 글
[My Batis]UPDATE시에 조건문만 줘야 할 경우 ',' 자동으로 없애주기 (0) | 2021.07.10 |
---|---|
[Oracle] 오늘 날짜의 값을 가지고 오기 (0) | 2021.07.10 |