Background Image
조회 수 38007 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

응용 개발을 진행하는 중 저장하고자 하는 데이터가 이미 존재하는지 여부에 따라 insert, update를 결정해야 하는 경우가 있다.

이러한 경우 보통 아래와 같은 절차에 따라 작업을 수행하게 된다.

1. 저장하고자 하는 데이터 존재 여부를 select 문으로 조회

2. 조회한 결과 데이터가 존재하지 않으면 insert, 존재하면 update

 

또 다른 방법은

1. update를 수행

2. 결과 row count 0이면 insert 수행

 

세 번째 방법은

1. 저장하고자 하는 테이블에 PK(또는 UNIQUE 제약)이 설정되어 있는 경우에 insert 수행

2. 결과 unique violation 에러가 발생하면 update 수행

 

위와 같은 방법을 사용하는데 CUBRID2008R3.0부터는 이걸 한번에 처리할 수 있는 방법이 추가 되었다.

바로 ON DUPLICATE KEY UPDATE 절 이다.

INSERT 문에서 ON DUPLICATE KEY UPDATE절을 사용하게 되면 UNIQUE 또는 PRIMARY KEY 제약 조건을 위반하는 레코드가 삽입되면 자동으로 컬럼 값을 새로운 값으로 갱신해준다.

 

아래 예제를 보면 사용 방법을 알 수 있다.

CREATE TABLE a_tbl (

id INT UNIQUE,

name VARCHAR,

phone VARCHAR DEFAULT '000-0000');

INSERT INTO a_tbl VALUES(1, 'aaa', '000-0000');

SELECT * FROM a_tbl;

;xr

 

=== <Result of SELECT Command in Line 1> ===

 

           id  name                  phone

=========================================================

            1  'aaa'                 '000-0000'

INSERT INTO a_tbl VALUES(1, 'aaa', '222-2222') ON DUPLICATE KEY UPDATE phone = '222-2222';

 

SELECT * FROM a_tbl WHERE id=1;

;xr

 

=== <Result of SELECT Command in Line 1> ===

 

           id  name                  phone

=========================================================

            1  'aaa'                 '222-2222'

 


  1. 데이터베이스 자동시작 설정(CUBRID 7.3.0).

    Date2009.01.17 CategoryCUBRID 매니저 By윤희서 Views23155
    Read More
  2. 데이터베이스 자동시작 설정(CUBRID 2008 R 1.2).

    Date2009.01.31 CategoryCUBRID 매니저 By윤희서 Views20187
    Read More
  3. 데이터베이스 볼륨 자동 증가 설정

    Date2009.04.01 Category운영관리 By남재우 Views18809
    Read More
  4. 데이터베이스 마이그레이션(unloaddb & loaddb) 의 효과적인 수행방법

    Date2012.04.14 Category마이그레이션 Bycubebridge Views24551
    Read More
  5. 데이터 필드의 타입 변경하기

    Date2008.11.21 Category질의작성 Byadmin Views18420
    Read More
  6. 데이터 존재하면 update, 존재하지 않으면 insert 방법(ON DUPLICATE KEY UPDATE)

    Date2010.08.11 Category질의작성 By손승일 Views38007
    Read More
  7. 데이터 입력 중 디스크 공간 부족 오류가 발생하였을 때, 복구 방법

    Date2012.06.30 Category운영관리 By이용미 Views14334
    Read More
  8. 데이터 값 작은 따옴표(') 넣기

    Date2009.03.20 Category질의작성 By정만영 Views23815
    Read More
  9. 다중 row를 하나의 column에 넣기

    Date2009.03.13 Category질의작성 By정만영 Views20089
    Read More
  10. 그루비로 큐브리드 함수(or 프로시저) 만들기 by 행복개발자(cyberuls)

    Date2009.07.14 Category응용개발 By시난 Views18754
    Read More
  11. 게시판 응용 중 조회수로 정렬하는 경우 인덱스 생성 방법

    Date2012.06.23 Category질의작성 By손승일 Views13908
    Read More
  12. 각 테이블 PK 유무 확인 쿼리문

    Date2016.01.01 Category질의작성 By엄기호 Views9022
    Read More
  13. 각 데이터베이스에 개별적 파라미터 적용하는 방법

    Date2009.11.30 Category운영관리 By정만영 Views10183
    Read More
  14. windows에서의 Build 오류 발생 시 조치방법

    Date2009.05.19 Category기타 Bycubebridge Views14255
    Read More
  15. windows 환경에서 압축파일로 CUBRID 설치시 환경변수 쉽게 설정하기

    Date2015.07.02 Category운영관리 By김승훈 Views6997
    Read More
  16. windows 환경에서 Manager 접속이 되지 않는 경우 처리 방안

    Date2010.11.26 Category운영관리 By남재우 Views14424
    Read More
  17. windows 에서 CUBRID 설치후 CUBRID manager client 최초 연결시 연결 오류 발생 대처 방법

    Date2009.05.21 CategoryCUBRID 매니저 By남재우 Views17714
    Read More
  18. windows vista 환경의 csql에서 ;edit 실행시 오류발생하는 경우

    Date2009.05.27 Category기타 By손승일 Views16686
    Read More
  19. weblogic 8.1 에 CUBRID Connection Pool, DataSource 설정 방법

    Date2009.07.01 Category응용개발 By웁쓰 Views66306
    Read More
  20. utf-8로 저장된 한글이 JAVA SP를 사용하여 읽어 오면 깨져 보일때

    Date2012.03.10 Category응용개발 By손승일 Views20802
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 14 Next
/ 14

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales