where 1=1 0 2 2,054

by stylebox [2014.01.08 14:06:08]



안녕하세요.
현재 update구문을 만들고 있는데
ibatis를 이용해서
2개의 update를 하고 있어요.
그런데
<isNotEmpty property="seq">
seq가 없을경우
update set

where seq=#seq#
이렇게 되어서 오류가 뜨는데요

update set
seq=#seq#
<isNotEmpty property="seq">
</isN\otEmpty>
where seq=#seq#
이렇게 의미없는 seq=#seq#를 추가 했습니다.
혹시 where 1=1처럼 오라클에서 지원하는거는 없을까요..??

혹시 다른방법이 있는지 답변좀 부탁드릴께요
오늘도 즐거운 하루되세요
by 용근님 [2014.01.08 14:37:17]
1. 업데이트 할 대상 Row Read

2. 화면에서 던진값이 Null인지 빈값인지 자바단에서 체크후

3. 화면에서 던진값이 Null일경우엔 1번에서 조회한 Value Vo에 Set 빈값일 경우엔 빈값 그대로

4. Update절 테이블 모든 컬럼 기술 후 Update

by 아발란체 [2014.01.08 15:36:28]
<dynamic prepend="WHERE">
<isNotEmpty property="seq">
...
</isNotEmpty>
</dynamic> 

쓰시면 됩니다.
안에 부합 하는 값이 없으면 WHERE를 쓰지 않습니다.
있으면 WHERE를 쓰고요.

iBatis가 아닌 MyBatis 는 구문이 보다 더 간결하고 쉽게 쓸 수 있습니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입