Query로 데이타를 입력하려고합니다.
Table1 의 Key를 의 필드를 CD라고 하고...
Table2 의 Key를 Table1의 Key CD와 Table2 Key를 CD_NUM으로 하고...
Table3 의 Key를 Table1의 Key CD와 Table2 Key를 CD_NUM와 Table3의 Key Seq로 하고
Table1 CD = '001'
Table2 CD = '001', CD_NUM = 'a001'
Table3 CD = '001', CD_NUM = 'a001', SEQ = '1'
여기서 한번 Query의 ExecSql을 하고, 다음에 또 같은 CD '001'에 2번째 행인...
Table1 CD = '001'
Table2 CD = '001', CD_NUM = 'a002'
Table3 CD = '001', CD_NUM = 'a001', SEQ = '1' 이케 입력하는데 중복이 납니다.
물론 키 중복이기 때문에 에러가 날텐데... 이걸 어케 처리하면될까여?
방법이 없을까여? 제가 아직 DB를 잘 몰라서....
보니까 table1의 프라이머리키는 001, 테이블2의 포린키는 001, 프라이머리는 a001, 테이블3은 포린키 001, a001 이고 프라이머리키가 없네요.. 프라이머리키없더라도 유일한 값으로 만들어 주려면 테이블3에 필드하나 더 추가해서 유일값을 만드러 주시면 될거같아요.
데이터를 보니...'1'은 공통적으로 들어가는 거 같으니필드하나 더 추가해서 그걸 유일값으로 잡던지요...
다음 처럼 ;;
INSERT INTO table3 (cd, CD_NUM, SEQ0,SEQ, Owner) values ("001", "a001",0, "1", "말자");
INSERT INTO table3 (cd, CD_NUM, SEQ0,SEQ, Owner) values ("001", "a001",1, "1", "말자");
이렇게 해주시던지... 즉 테이블 3에 들어가는 데이터들도 유일한 값들을 가져야 한다는 얘기였습니다.