티스토리 뷰
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 |