프로시저 ..동일 데이터가 등록안되어야 하는데 어떻게 해야 할까요 .. 0 3 1,958

by Inty [PL/SQL] [2011.12.14 20:58:06]



CREATE OR REPLACE PROCEDURE OK.TEST01
IS
begin

insert into OK.test02 (a,b,c,d,e,f)
select a,b,c,d,e,f
from OK.test03

commit;


EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
end;
/
------------------------------------------

test03의 컬럼 중 a,b,c,d,e,f를 test02의 컬럼 a,b,c,d,e,f에 넣어주려고 위와 같이 프로시저를 생성하였습니다.

test03과 test02에 a,b,c,d,e,f의 값이 동일하면 해당 데이터는 test02 테이블에 넣지 않아야 하는데요

프로시저에서는 어떻게 처리해야 할까요 ..

by finecomp [2011.12.15 07:25:59]
PK나 Unique Key를 생성하시면 되겠죠...;

by 앵호뚱 [2011.12.15 08:21:38]
insert하기전에 count해서 조건주면 되지 않을까요?ㅎ

by 도가니 [2011.12.15 11:07:35]
insert into OK.test02 (a,b,c,d,e,f)
select a,b,c,d,e,f
from OK.test03 a
where not exists (
select 1 from OK.test02
where a = a.a
and b = a.b
and c = a.c
and d = a.d
and e = a.e
and f = a.f
);
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입