package 에서, 테이블에 insert 를 할시 중복 체크해서
insert를 하려고 합니다. 아래처럼 중복 체크 구문을 넣긴했는데, 이상하게도 몇초차이라 중복된
데이터가 들어갔었습니다. 아래 방식 말고 insert 시에 효율적으로 중복 체크하여 중복된 값은 저장이 안되도록 할 수 있을까요? 테이블에 두 개의 컬럼에 pk 가 걸려있어서 중복된 데이터가 들어갈 수 있는 구조입니다. pk 변경은 어려운 실정이구요... 아래 prono 컬럼이 중복된 데이터가 들어가지 못하도록 막고 싶습니다.
---------- pcakage 구문 --------------
--중복체크
SELECT COUNT(*)
INTO sROW_CNT
FROM TEST
WHERE PRONO = '10';
IF sROW_CNT > 0 THEN
RAISE_APPLICATION_ERROR(-20000,'중복되었습니다.');
END IF;
INSERT INTO TEST (
PRONO
,ITEM
) VALUES (
'10'
,'ABC'
);