keyProperty 사용하기(오라클, 마리아DB)
- DB/Oracle
- 2018. 6. 11. 20:47
게시판의 댓글 쿼리가 마리아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
'DB > Oracle' 카테고리의 다른 글
오라클에서 계정 생성, 권한, 테이블 덤프하기. (0) | 2019.03.31 |
---|---|
오라클 MERGE INTO (MariaDB ON DUPLICATE KEY) (0) | 2018.05.27 |
오라클 외래키 설정(MariaDB 외래키 설정) (0) | 2018.05.27 |
오라클 시퀀스 생성하기 (MariaDB AUTO_INCREMENT) (0) | 2018.05.27 |
데이터베이스의 정의 와 특징 (0) | 2018.04.01 |