INSERT INTO SELECT (데이터 복사)
SELECT INTO (테이블 및 데이터 복사)
테이블 구조 및 데이터 복사
원본테이블과 동일 구조의 테이블을 생성 후 데이터 복사
1 2 3 |
SELECT 컬럼명 INTO 대상테이블명 FROM 원본테이블명 WHERE 조건 |
테이블 구조 복사
원본테이블과 동일 구조의 테이블만 생성
1 2 3 |
SELECT 컬럼명 INTO 대상테이블명 FROM 원본테이블명 WHERE 1=2 |
데이터 복사
테이블의 내용을 대상테이블에 복사
1 2 3 |
INSERT INTO 대상테이블명 (컬럼명) SELECT 컬럼명 FROM 원본테이블명 WHERE 조건 |
다른 서버DB로 데이터 복사
1 2 3 |
INSERT INTO [서버주소].대상테이블명 (컬럼명) SELECT 컬럼명 FROM 원본테이블명 WHERE 조건 |
[주의]
다른 서버DB로 테이블 및 데이터 복사할때 트랜잭션은 걸 수 없다.
만일 아래와 같은 SQL을 수행한다면!
1 2 3 4 5 6 7 |
BEGIN TRAN INSERT INTO [서버주소].대상테이블명 (컬럼명) SELECT 컬럼명 FROM 원본테이블명 WHERE 조건 --COMMIT TRAN --ROLLBACK TRAN |
다음과 같은 오류 메세지를 보게 될 것이다.
연결된서버"xxx.xxx.xxx.xxx"의OLE DB 공급자"SQLNCLI10"이(가) 메시지"트랜잭션관리자가원격/네트워크트랜잭션에대한지원을할수없습니다."을(를) 반환했습니다.
메시지7391, 수준16, 상태2, 줄2
연결된서버"xxx.xxx.xxx.xx"의OLE DB 공급자"SQLNCLI10"이(가) 분산트랜잭션을시작할수없으므로요청한작업을수행할수없습니다.
'Course > MS-SQL' 카테고리의 다른 글
MSSQL CONVERT 시 varchar 잘림 문제 (0) | 2016.06.23 |
---|---|
text 형식의 필드 검색 방법 (0) | 2016.06.22 |
[MS-SQL] 암호화 (SHA1, MD5, ...) (0) | 2016.01.22 |
[MSSQL] IDENTITY값 초기화 (0) | 2014.03.12 |
데이터의 삽입, 삭제, 수정 - 3. DELETE를 이용한 행 삭제 (0) | 2012.04.24 |