SELECT INTO 구문은 대상 테이블을 생성한 후, 쿼리의 결과 집합을 생성한 테이블에 저장하는 비표준 T-SQL 구문이다.
"비표준"이란, 이 구문이 ISO 및 ANSI SQL 표준이 아니라는 것을 말한다.
이 구문을 이용해서 이미 존재하는 테이블에 데이터를 넣을 수는 없다. 문법은 간단히 결과 집합을 만드는 쿼리의 SELECT 절에 있는 FROM절 앞에 INTO <대상 테이블 이름>만 추가하면 된다.
1 2 3 4 5 | IF OBJECT_ID('dbo.Orders', 'U') Is Not Null Drop Table dbo.Orders; Select SO.orderid, SO.orderdate, SO.empid, SO.custid Into dbo.Orders From Sales.Orders SO | cs |
대상 테이블의 구조와 데이터는 원본 테이블을 기반으로 한다. SELECT INTO 구문은 우너본 테이블의 기본 구조(컬럼 이름, 형식, NULL 허용 여부, identity 속성)와 테이터를 그대로 복사한다. 하지만 이 구문은 우너본 테이블에 있는 제약사항, 인덱스, 트리거, 권한의 요소를 복사하지 않는다. 대상 테이블에 이러한 요소들이 필요하다면, 직접 이를 생성해줘야 한다.
'DataBase' 카테고리의 다른 글
[MS-SQL]공통 테이블 식(CTE) (0) | 2016.02.12 |
---|---|
[MS-SQL] DELETE JOIN (0) | 2016.02.04 |
[MS-SQL]데이터 삭제 DELETE vs TRUNCATE (0) | 2016.02.03 |
[MS-SQL]Identity 속성 (0) | 2016.02.02 |
OFFSET-FETCH 사용법 (0) | 2015.04.29 |