안녕하세요.
제가 A라는 테이블에 트리거를 두어서 insert 하기 전에 데이타가
중복 된것이 있으면 기존에 있는 키
값을 가져와서 키값을 바꿔준후 insert 하고 싶습니다.
테이블 A 구조
key : seq 한 값( PK 값)
name1 varchar(10),
name2 varchar(10),
name3 varchar(10),
regdate varchar(10) //등록일
트리거 입니다.
REATE OR REPLACE TRIGGER A_trigger
BEFORE
INSERT ON A
FOR EACH ROW
DECLARE
exist_count NUMBER;
v_key VARCHAR2(20);
BEGIN
SELECT count(*), key
INTO exitst_count, v_key
FROM A
where name1= :new.name1
and name2= :new.name2
and name3= :new.name3;
if exist_count > 0 then set :new.key_id = v_key ;
END;
위와 같이 작성하면 오류가 납니다.
오류 내용은 "PL/SQL: ORA-00922: 누락된 또는 부적합한
옵션"입니다.
중복일 경우에는 key값을 기존의 값으로 변경을 하고 싶습니다.
이런 경우에는 어떻게 처리를 해야 하나요?
|