얼마전 어느 정도 분량의 데이터를 삽입해줘야 하는 상황이 발생했다.
문제는....
1. 대상 테이블이 IDENTITY가 걸려 있다.
2. 이미 기존에 들어가 있는 데이터가 존재한다.
3. 넣어야 할 데이터가 다른 DB(ORACLE)에 존재한다.
잠시 생각해 보니 DB가 오라클에서 MS로 변경된 걸 모르고 오라클에 신규 데이터를
삽입한 사람의 멱을 잡을 수 없으니 일단 변경된 리스트를 받는 선에서 끝내기로 하고
어떻게 손쉽게 할 수 있을까를 생각하니. 쓸만한 것이 IN 구문.
※ 더 손쉬운 방법이 있다면 이 글을 보시는 분이라면 누구든 알려주세요.
IN 구문의 사용법은 간단하다 다음과 같은 문법을 가진다.
SELECT * FROM 테이블명 WHERE 조건을 걸 대상 컬럼 IN ( '값1', '값2', '값3', ... );
이런 식으로 하면 컬럼 값과 매치 되는 열만 검색해서 보여준다. 그 다음은... 머 간단했다.
INSERT 구문으로 데이터를 뽑고 대신 뽑을 때 넣어야 할 테이블에 IDENTITY가 걸려 있으니,
그 컬럼은 빼고, 뽑아서 실행만 시켜주면 되었다~
해피한 결말 끝~
'DataBase > SQL' 카테고리의 다른 글
[SQL] SELECT INTO (임시 테이블 만들기) 사용법 (0) | 2013.02.13 |
---|---|
[SQL] 동적쿼리 (0) | 2013.02.13 |
[SQL] DB복구후 DB와 사용자 매핑 (0) | 2013.02.13 |
[SQL] 날짜 변경 (DATEADD) (0) | 2013.02.13 |
[SQL] 컬럼 속성 변경 (0) | 2013.02.13 |