INTO 절(Transact-SQL)

업데이트: 2007년 9월 15일

새 테이블을 만들어 쿼리의 결과 행을 이 테이블에 삽입합니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

[ INTO new_table ]

인수

  • new_table
    선택 목록에 있는 열과 WHERE 절에서 선택한 행을 기반으로 만들려는 새 테이블의 이름을 지정합니다. new_table의 형식은 선택 목록의 식을 평가하여 결정됩니다. new_table의 열은 선택 목록에서 지정한 순서대로 만들어집니다. new_table의 각 열은 선택 목록의 해당 식과 같은 이름, 데이터 형식 및 값을 갖습니다.

    선택 목록에 계산 열이 있으면 새 테이블의 해당 열은 계산 열이 아닙니다. 새 열의 값은 SELECT...INTO가 실행될 때 계산된 값이 됩니다.

    SELECT...INTO와 같은 특정 대량 작업에 대한 로깅 양은 데이터베이스에 적용되는 복구 모델에 따라 다릅니다. 자세한 내용은 복구 모델 개요를 참조하십시오.

    [!참고] SQL Server 2000 이전 릴리스에서는 select into/bulkcopy가 설정된 경우에만 SELECT INTO를 사용하여 영구 테이블을 만들 수 있었습니다. SQL Server 2000 이상에서 select into/bulkcopy 데이터베이스 옵션은 SELECT INTO를 사용하여 영구 테이블을 만들 수 있는지 여부에 더 이상 영향을 주지 않습니다.

주의

INTO 절과 함께 SELECT 문을 실행하려면 사용자에게 대상 데이터베이스에 대한 CREATE TABLE 권한이 있어야 합니다.

원본 테이블이 분할되어 있더라도 SELECT INTO를 사용하여 분할된 테이블을 만들 수는 없습니다. SELECT INTO는 원본 테이블의 파티션 구성표를 사용하지 않습니다. 새 테이블은 기본 파일 그룹에 생성됩니다. 분할된 테이블에 행을 삽입하려면 먼저 분할된 테이블을 만든 다음 INSERT INTO…SELECT FROM 문을 사용해야 합니다.

SELECT...INTO는 COMPUTE 내에서 사용할 수 없습니다.

다음 예에서는 다양한 직원 및 주소 관련 테이블에서 7개의 열을 선택함으로써 dbo.EmployeeAddresses 테이블을 만듭니다.

USE AdventureWorks;
GO
SELECT c.FirstName, c.LastName, e.Title, a.AddressLine1, a.City, sp.Name AS [State/Province], a.PostalCode
INTO dbo.EmployeeAddresses
FROM Person.Contact AS c
JOIN HumanResources.Employee AS e ON e.ContactID = c.ContactID
JOIN HumanResources.EmployeeAddress AS ea ON ea.EmployeeID = e.EmployeeID
JOIN Person.Address AS a on a.AddressID = ea.AddressID
JOIN Person.StateProvince as sp ON sp.StateProvinceID = a.StateProvinceID;
GO

참고 항목

참조

SELECT(Transact-SQL)
SELECT 예(Transact-SQL)

관련 자료

SELECT INTO를 사용하여 행 삽입

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2007년 9월 15일

새로운 내용
  • 주의 섹션에 분할된 테이블 정보를 추가했습니다.
  • 예 섹션을 추가했습니다.