INSERT 및 SELECT 하위 쿼리를 사용하여 행 삽입
INSERT 문에 SELECT 하위 쿼리를 사용하여 하나 이상의 다른 테이블이나 뷰에서 테이블로 값을 추가할 수 있습니다. 또한 SELECT 하위 쿼리를 사용하여 동시에 여러 행을 삽입할 수 있습니다.
다음 예제에서 INSERT
문은 AdventureWorks
의 Sales.SalesReason
테이블에서 SalesReason
이 Marketing
인 모든 행의 일부 데이터를 별도의 테이블로 삽입합니다.
USE AdventureWorks;
GO
CREATE TABLE MySalesReason (
SalesReasonID int NOT NULL,
Name nvarchar(50),
ModifiedDate datetime);
GO
INSERT INTO MySalesReason
SELECT SalesReasonID, Name, ModifiedDate
FROM AdventureWorks.Sales.SalesReason
WHERE ReasonType = N'Marketing';
GO
SELECT SalesReasonID, Name, ModifiedDate
FROM MySalesReason;
GO
하위 쿼리의 SELECT 목록은 INSERT 문의 열 목록과 일치해야 합니다. 열 목록을 지정하지 않을 경우 SELECT 목록은 삽입될 테이블이나 뷰의 열과 일치해야 합니다.
INSERT...SELECT 문으로 SQL Server 2005 외부에 있는 원본의 데이터를 삽입할 수도 있습니다. INSERT 문에 SELECT를 사용하여 다음과 같은 작업을 수행할 수 있습니다.
- 네 부분으로 이루어진 이름을 사용하여 연결된 서버에서 원격 테이블을 참조합니다. 자세한 내용은 연결된 서버 이름을 사용하여 데이터 원본 확인을 참조하십시오.
- OPENROWSET를 사용하여 원격 테이블을 참조합니다. 자세한 내용은 임시 이름을 사용하여 데이터 원본 확인을 참조하십시오.
- 원격 서버에서 실행되는 쿼리의 결과 집합을 사용합니다. 자세한 내용은 통과 쿼리를 테이블로 사용을 참조하십시오.
참고 항목
개념
INSERT 및 SELECT를 사용하여 행 추가
INSERT 및 값을 사용하여 행 삽입
TOP을 사용하여 삽입되는 행 제한
SELECT INTO를 사용하여 행 삽입