'SELECT INTO'에 해당되는 글 1건

  1. 2013.06.05 SELECT INTO 와 INSER INTO … SELECT 비교
MS SQL2013.06.05 14:04

 

[내용]

 

개의 쿼리문은 대량의 데이터를 옮기거나 복사를 사용하는 쿼리입니다.

두개의 쿼리문의 다른 점은 무엇이 있는지 확인해 봅시다.

 

 

[환경]

 

SQL Server 2012 Ent

 

 

[Test]

 

복사할 원본 테이블을 생성합니다.

CREATE TABLE testTbl

(

userid        VARCHAR(6),

propName        VARCHAR(6)

)

GO

 

INSERT INTO testTbl VALUES('KHD', N'운동화')

INSERT INTO testTbl VALUES('QWE', N'노트북')

INSERT INTO testTbl VALUES('WER', N'자동차')

INSERT INTO testTbl VALUES('ERT', N'핸드폰')

INSERT INTO testTbl VALUES('ETR', N'마우스')

INSERT INTO testTbl VALUES('FGH', N'노트북')

INSERT INTO testTbl VALUES('TIU', N'시계')

INSERT INTO testTbl VALUES('XCV', N'구두')

INSERT INTO testTbl VALUES('BNM', N'넥타이')

GO

 

SELECT * FROM testTbl

GO

 

 

SELECT INTO 구문으로 새로운 테이블을 생성하고, 확인합니다.

SELECT * INTO selTbl FROM testTbl;

GO

SELECT * FROM selTbl;

 

 

같은 방법으로 INSERT INTO ... SELECT 구문으로 테이블을 생성합니다.

INSERT INTO insTbl SELECT * FROM testTbl

GO

아래와 같이 개체를 찾지 못하는 에러가 발생합니다.

 

 

데이터를 가져올 테이블(testTbl) 같은 형식으로 테이블 생성 ,

INSERT INTO ... SELECT 구문을 실행 하고, 확인합니다.

 

CREATE TABLE insTbl

(

col1 nvarchar(6),

col2 nvarchar(6)

)

 

INSERT INTO insTbl SELECT * FROM testTbl

GO

 

SELECT * FROM testTbl;

 

 

 

[결론]

 

대량의 데이터를 샘플 데이터로 사용할 경우 2개의 쿼리문을 사용할 있습니다.

, 2개의 차이점은 테이블 정의의 유무 입니다.

SELECT INTO 구문의 경우는 테이블 정의가 필요 없고, INSERT INTO ... SELECT 경우는 테이블 정의가 필요합니다.

 

 

[참고]

 

http://msdn.microsoft.com/en-us/library/ms189499.aspx

http://msdn.microsoft.com/en-us/library/ms174335.aspx

 

 

신고
Posted by TM ~ing