Open-Closed Principle

[MS-SQL]SELECT INTO 구문 본문

Programming/MS-SQL

[MS-SQL]SELECT INTO 구문

대박플머 2016. 2. 3. 00:00

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 속성)와 테이터를 그대로 복사한다. 하지만 이 구문은 우너본 테이블에 있는 제약사항, 인덱스, 트리거, 권한의 요소를 복사하지 않는다. 대상 테이블에 이러한 요소들이 필요하다면, 직접 이를 생성해줘야 한다. 


'Programming > MS-SQL' 카테고리의 다른 글

[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