Java에서 addBatch()/executeBatch()를 사용하여 INSERT를 하려고 합니다.
아래와 같이 PK 중에 순번이 있을 때, 자동 순번 채번하게 할 수 있는 방법이 없나요?
CREATE TABLE TBL
( KEY1 VARCHAR2(10);
, KEY2 VARCHAR2(10);
, SEQ3 NUMBER(5);
, DATA1 VARCHAR2(50);
, DATA2 VARCHAR2(100);
);
CREATE UNIQUE INDEX TBL_PK ON TBL(KEY1, KEY2, SEQ3);
Java 에서
INSERT INTO TBL(KEY1, KEY2, SEQ3, DATA1, DATA2)
VALUES( ?, ?,
NVL((SELECT /*+ INDEX_DESC(A TBL_PK) SEQ + 1 FROM TBL WHERE KEY1 = ? AND KEY2 = ? AND ROWNUM = 1), 1)
, ?, ?);
위의 SQL을 사용하여 addBatch(), executeBatch() 를 이용하면, PK 중복오류가 발생하는데요.
피해갈 방법이 없나요?