티스토리 뷰

SELECT 결과를 테이블에 삽입하는 방법에 대해 정리하였습니다.

   

1. SELECT INTO

SELECT INTO 문을 통해 새로운 테이블을 생성하면서 SELECT 결과를 생성된 테이블에 삽입할 수 있으며,

여러 테이블의 데이터를 조인하여 새로운 하나의 테이블로 결합할 수도 있다.

테이블을 복제하는 개념은 아니므로 인덱스나 통계 정보는 함께 가져오지 않고 데이터만 가져온다.

단, 테이블 디자인을 그대로 가져오기 때문에 데이터 타입 및 Identity 설정은 유지한다.

   

예문)

http://technet.microsoft.com/ko-kr/library/ms190750(v=sql.105).aspx

   

테스트)

-- 테이블 Test01을 새로 생성하면서 Employees 테이블의 모든 결과를 INSERT

SELECT * INTO dbo.Test01

FROM dbo.Employees

GO

   

   

   

   

2. INSERT INTO ... SELECT FROM

INSERT INTO ... SELECT FROM 문을 사용하여 기존에 있던 테이블에 SELECT 결과를 삽입할 수 있다.

단, 두 테이블의 디자인 및 각 컬럼의 데이터 타입이 동일해야 한다는 전제조건이 있다.

   

예문)

http://technet.microsoft.com/ko-kr/library/ms188263(v=sql.105).aspx

   

테스트)

-- SELECT 결과를 기존 테이블에 INSERT

INSERT INTO dbo.Test01

SELECT * FROM dbo.Employees

GO

   

Identity 열이 있어서 오류 발생…;

   

--Identity가 설정된 [EmployeeID] 컬럼은 제외하고 INSERT INTO ... SELECT 실행

INSERT INTO dbo.Test01

SELECT --EmployeeID,        

LastName        

,FirstName        

,Title        

,TitleOfCourtesy        

,BirthDate        

,HireDate        

,Address        

,City        

,Region        

,PostalCode        

,Country        

,HomePhone        

,Extension        

,Photo        

,Notes        

,ReportsTo        

,PhotoPath

FROM dbo.Employees

GO

   

   

   

-- SELECT INTO 문으로 INSERT한 9행 + INSERT INTO ... SELECT 문으로 INSERT한 9행 = 18행 (ㅡㅡ;)

   

'Microsoft SQL Server' 카테고리의 다른 글

Single User Mode - Alter Database 실패  (0) 2013.12.06
Truncate Table  (0) 2013.12.06
SQL Server 2005 서비스 시작 계정 변경  (0) 2013.11.23
SQL Server 2005 with SP4 지원?  (0) 2013.09.12
SQL Server Role  (0) 2013.09.05
댓글
글 보관함
최근에 달린 댓글
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Total
Today
Yesterday