전체 테이블 복사 (SELECT INTO)
SELECT *
INTO NewTable
FROM OldTable;
- PK, FK, INDEX, TRIGGER 복사되지 않음
- IDENTITY 속성은 유지되지만 제약조건은 제외됨
- 기존 테이블이 있으면 오류 발생
조건부 데이터만 복사
SELECT *
INTO NewUsers
FROM Users
WHERE Age >= 20;
- 조건에 따라 데이터 누락 가능
- 인덱스 및 제약조건은 생성되지 않음
구조만 복사 (데이터 제외)
SELECT *
INTO EmptyTable
FROM Users
WHERE 1 = 0;
- 컬럼 구조만 생성됨
- 모든 제약조건 및 인덱스 제외
기존 테이블에 데이터 추가
INSERT INTO NewTable
SELECT *
FROM OldTable;
- 컬럼 순서 및 데이터 타입 반드시 일치해야 함
- PK/UK 존재 시 중복 데이터 오류 발생 가능
특정 컬럼만 복사
SELECT UserID, UserName
INTO UserNames
FROM Users;
- 선택한 컬럼만 생성됨
- NOT NULL, DEFAULT 제약이 유지되지 않을 수 있음
다른 DB / 스키마로 복사
SELECT *
INTO TargetDB.dbo.NewTable
FROM SourceDB.dbo.OldTable;
- 대상 DB에 CREATE TABLE 권한 필요
- 원본 테이블에 SELECT 권한 필요
- DB 간 Collation 차이로 오류 발생 가능
- IDENTITY, DEFAULT, 제약조건 일부 누락 가능
- 네트워크/서버 간 복사는 Linked Server 필요
반응형
'DB > MSSQL' 카테고리의 다른 글
| MSSQL 문자열 자르기 (0) | 2026.03.25 |
|---|---|
| MSSQL 날짜/시간 형변환 한눈에 정리 (0) | 2026.03.24 |
| MSSQL 테이블 목록 조회 (0) | 2025.03.27 |
| MSSQL 프로시저 내용 문자열 검색 조회 (0) | 2025.03.27 |