[Oracle] 오라클 데이터가 없을경우에만 Insert하기

테이블에 PK로 설정되어있는 컬럼에 데이터가 중복으로 들어가면 무결성 제약조건에 걸리게됩니다. 이것을 예외처리 해주지 않는다면 프로그램에 치명적일 수 있는데요. 이 경우 데이터가 없을경우에만 Insert를 하는 형식으로 변환하여 프로그램의 안정성을 더해줄 수 있습니다. 오라클에 데이터가 없는 경우에만 Insert를 하는방법은 WHERE조건문에 NOT EXISTS(데이터 SELECT) 를 하는 방법으로 구현할 수 있습니다. 

INSERT INTO DEPT_TABLE
(
  SQ,
  COMPANY,
  DEPT,
)
SELECT
  1,
  '테스트회사',
  '테스트부서'
FROM DUAL

WHERE NOT EXISTS
(
  SELECT
  SQ
  FROM
  DEPT_TABLE
  WHERE
  SQ = 1,
  COMPANY = '테스트회사',
  DEPT = '테스트부서'
)

 

댓글

Designed by JB FACTORY