대충 아래와 같이 하면 오류만은 피할 수 있지 않을까요?
그런데, COUPON_USER_LIST 테이블에 뭔가 insert된다면 항상 a.MAX_NUM + 1 값이 될 겁니다.
query의 의도는 모르겠지만 원하시는 결과는 아닐 것 같군요.
INSERT INTO COUPON_USER_LIST (REAL_NUM)
SELECT (a.MAX_NUM + ROW_NUMBER() OVER ()) AS REAL_MAX_NUM
FROM
(
SELECT MAX(NUM) AS MAX_NUM
FROM COUPON_USER_LIST
)a;
INSERT INTO COUPON_USER_LIST (REAL_NUM)
SELECT (a.MAX_NUM + a.ROWNUM) AS REAL_MAX_NUM
FROM
(
SELECT MAX(NUM) AS MAX_NUM, ROW_NUMBER() OVER () AS ROWNUM
FROM COUPON_USER_LIST
)a;
정확한 DB이름과 오류메시지를 주시면
정확한 DB이름과 오류메시지를 주시면 좋았겠네요.
PostgreSQL이라고 가정하고 찾아봤습니다.
[DBMS] DBMS 별 rownum 사용법
http://rocksea.tistory.com/213
대충 아래와 같이 하면 오류만은 피할 수 있지 않을까요?
그런데, COUPON_USER_LIST 테이블에 뭔가 insert된다면 항상 a.MAX_NUM + 1 값이 될 겁니다.
query의 의도는 모르겠지만 원하시는 결과는 아닐 것 같군요.
INSERT INTO COUPON_USER_LIST (REAL_NUM) SELECT (a.MAX_NUM + ROW_NUMBER() OVER ()) AS REAL_MAX_NUM FROM ( SELECT MAX(NUM) AS MAX_NUM FROM COUPON_USER_LIST )a;
답변 감사드립니다~
제가 모든쿼리부분을 올려드린게 아니었습니다..죄송해요.
MAX_NUM부분이 int형이 아니라 string형이었기 때문에 발생한 에러였습니다.
그래도 답변 감사드려요 *^^*
http://database.sarang.net/?c
http://database.sarang.net/?criteria=pgsql 추천
세벌 https://sebuls.blogspot.kr/
댓글 달기