database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
ㆍDB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DB2 Q&A 1489 게시물 읽기
No. 1489
데이터 중복 처리 관련...
작성자
DB2사랑
작성일
2008-01-10 10:41
조회수
10,705

가령 테이블 AA가 있을 경우 AA에 insert 되는 데이터가 동일한 경우(중복인 경우)

insert를 시키지 않고 count만 증가시킨다던지 하는 처리를 하고 싶은데

어떤 방식이 좋을까요? 트리거를 이용하면 될거 같은데 DB2용 트리거

샘플 좀 부탁드리겠습니다. 아님 다른 더 좋은 방법 있으신 분은 의견

부탁드립니다... group by를 사용하는 방법 말고 중복되는 데이터인 경우 

insert되는 실제 데이터가 select count시에 1건이 나와야 합니다.

이 글에 대한 댓글이 총 1건 있습니다.

merge를 사용해보세요 


create table t3(c1 int,c2 int,cnt int);

이 테이블에서 c1과 c2에 동일한 값이 들어오면 cnt를 update하고 없으면 insert를 합니다.


merge into t3

using

  (select 2 c1, 3 c2, 1 cnt

     from sysibm.sysdummy1) m1

on  t3.c1=m1.c1

and t3.c2=m1.c2   

when matched then

  update set t3.cnt=t3.cnt+1

when not matched then

  insert values (m1.c1, m1.c2, m1.cnt);

--님이 2008-01-10 12:55에 작성한 댓글입니다.
이 댓글은 2008-01-10 12:56에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1492db2에서는 setAutocommit가 안먹나요?? [1]
괴롭다
2008-01-13
21916
1491with문을 이용한 임시테이블 생성시 [2]
지니
2008-01-11
10246
1490한글깨짐현상.. [1]
db초보
2008-01-11
14608
1489데이터 중복 처리 관련... [1]
DB2사랑
2008-01-10
10705
1488function 문법 관련 질문입니다. [2]
db초보
2008-01-08
10974
1487provider에 관해 질문드립니다.
김인철
2008-01-08
9731
1486보호된 메모리를 읽거나 쓰려고했습니다. 대부분 이러한 경우는 다른 메모리가 손상되었음을 나타냅니다. [1]
김인철
2008-01-08
22325
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다