keyProperty 사용하기(오라클, 마리아DB)

게시판의 댓글 쿼리가 마리아DB쿼리로 되어있어

이 쿼리문을 오라클쿼리로 바꿨다.



처음에 난 저 쿼리문을 오라클 쿼리로 따로

바꿔줘야 되는지 몰랐다..


위 쿼리문은 댓글을 Insert하는 쿼리인데

댓글을 get하는 쿼리문에서 repNo값이 계속

null로 나와 오류가 났다. 내가 사용하고있는

프로젝트와 위 마리아DB를 사용한 프로젝트가 달라

오류 찾기가 어려웠다. 변수명과 컬럼명이 다 달랐기 때문에

난 당연히 컨트롤러 쪽이나 뭐 어디선가 내가 오타를 낸줄 알고

계속 찾았는데 1시간동안 해결도 못하고 멍때리고 있는순간


갑자기 jqgrid사용했을때 쿼리문에서 keyProperty를 사용한것이

떠올랐다. 바로 구글에 검색을 해보니 마리아DB/Mysql 이랑

오라클에서 keyProperty를 사용할때 문법이 다르다고 한다...


먼저 위 이미지 쿼리문을 설명하면

댓글을 Insert하는 순간 keyProperty에 repNo를 설정한

즉, 댓글의 번호가 map에 담기게 된다.


위 이미지안의 쿼리문은 마리아DB 쿼리문이니

저걸 오라클 쿼리문으로 바꿔보자.


오라클에서 Insert한 key값을 사용하기위해선

<selectKey>를 사용해야한다.



위 쿼리문이 오라클 쿼리문으로 바꾼것이다.

resultType은 repNo값이 숫자이기 때문에 int로 설정했다

order="BRFORE"는 Insert 쿼리를 실행하기전에 keyProperty에 값을

셋팅하라는 의미이다. 오라클에서는 마리아DB쿼리에

<selectKey>태그를 이용해 한번 작업을 더 해줘야한다.


SELECT NVL을 모른다면 아래의 링크에서

글을 읽자 http://rwd337.tistory.com/153?category=650898




댓글

Designed by JB FACTORY