테이블 INSERT시 PK 제약 위반에 대한 질문입니다. 0 0 4,397

by 수박남자 [SQL Query] INSERT PK제약 [2012.09.02 15:36:18]


샘플 데이터를 새로 생성한 테이블에 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가 되었습니다.

값 중에 중복된 값도 나타나지 않았구요.

이유를 작업 뒤에 곰곰히 생각해보고 있는데, 아무래도 떠오르지 않아서 도움 요청드립니다.

어떻게 해야 하는 걸까요??

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입