반응형
같은 구조의 두 테이블을 동기화하기
테이블2가 더 최신 버전이고 두 테이블은 같은 구조를 사용하고 있다고 가정한다.
[1단계] 테이블1 필드를 테이블2의 값으로 모두 업데이트한다. (INNER JOIN)UPDATE 테이블1INNER JOIN 테이블2 ON 테이블1.ID = 테이블2.IDSET 테이블1.[필드1] = 테이블2.[필드1],테이블1.[필드2] = 테이블2.[필드2],테이블1.[필드3] = 테이블2.[필드3],테이블1.[필드4] = 테이블2.[필드4];
[2단계] 두 테이블에서 ID가 일치하지 않는 테이블1의 레코드를 삭제한다.
DELETE *
FROM 테이블1WHERE 테이블1.ID NOT IN ( Select 테이블2.ID FROM 테이블2 );
[마무리] 테이블1에 존재하지 않는 테이블2의 레코드를 테이블1으로 복사한다. INSERT INTO 테이블1SELECT *FROM 테이블2WHERE 테이블2.ID NOT IN ( SELECT 테이블1.ID FROM 테이블1 );
이제 두 테이블은 서로 동기화되었다.
<이상>
반응형
'DBMS, 데이터베이스' 카테고리의 다른 글
[MySQL] 리눅스DB를 윈도우DB로 이전 (0) | 2013.01.18 |
---|---|
Access 노트 (0) | 2011.09.22 |
폼에서의 데이터는... (0) | 2011.08.18 |
다이너셋, 다이너셋(업데이트 일관성 없음), 스냅숏에 대해서[p134-07] (0) | 2011.08.18 |
[VBA] BeforeInsert 이벤트 프로시저 예제 (0) | 2011.08.09 |