샘플 데이터를 새로 생성한 테이블에 INSERT 하려다 발생한 에러였는데요.
테이블에 PK가 7개 잡혀있었는데, 샘플 데이터여서 그 중 3개는 상수 값이 들어갈 것이었습니다.
INSERT INTO TBL_A ( COL_A, COL_B, COL_C, COL_D, COL_E ) SELECT 'AA' AS COL_A, TBL_B.COL_B AS COL_B, 'CC' AS COL_C, TBL_B.COL_D AS COL_D,
SUM(COL_E) AS COL_E FROM TBL_B WHERE ~~~~
WHERE 절에는 PK 7개로 모두 GROUP BY 조건을 걸었었구요. 그런데
INSERT 를 하려는데 에러가 계속 나더라구요. ORA_00001, 무결성 제약조건 에러가 계속 났습니다.
이상해서 카운트 칼럼을 더해서 세어봤는데 같은 값이 2개 이상 나오는 게
존재하더라구요.
그래서 이리저리 찾아보다가 상수로 입력되는 부분들을 모조리 GROUP BY 절에서 삭제한 뒤
다시 쿼리를 실행했더니 정상적으로 INSERT가 되었습니다.
값 중에 중복된 값도 나타나지 않았구요.
이유를 작업 뒤에 곰곰히 생각해보고 있는데, 아무래도 떠오르지 않아서 도움 요청드립니다.
어떻게 해야 하는 걸까요??