INSERT 문에 SELECT 하위 쿼리를 사용하여 초간단 설명
--Book2 에 Book에 대한 값을 넣어줍니다
INSERT INTO Book2 SELECT PostID, BookName, BookContent FROM Book
이때 Book 과 Book2 는 필드가 일치해야 합니다
--Book2 에 Book에 대한 특정 필드값을 넣어줍니다
INSERT INTO Book2 (BookName) SELECT Book.BookName
--Book2와 에 Book에서 일치하는 값을 넣어줍니다
--아래는 PostID 가 들어가있다는 가정하에 서로 PostID 일치하는 Book2에 데이터를 넣어주는 부분입니다
INSERT INTO Book2 (BookName) SELECT Book.BookName FROM Book INNER JOIN Book2 AS Book2_1 ON Book.PostID = Book2_1.PostID
----------------------------------------------------------------------------------------------------------------------
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를 사용하여 원격 테이블을 참조합니다. 자세한 내용은 임시 이름을 사용하여 데이터 원본 확인을 참조하십시오.
- 원격 서버에서 실행되는 쿼리의 결과 집합을 사용합니다. 자세한 내용은 통과 쿼리를 테이블로 사용을 참조하십시오.
'MS SQL' 카테고리의 다른 글
[CURSOR ]커서 사용하기 (0) | 2010.01.03 |
---|---|
[ 첫글자 검색 ]레코드들 중에 특수문자 와 한글을 제거,검색 (0) | 2010.01.03 |
[ EXECUTE , EXEC] SQL 문자열 쿼리시 변수값 받기 (0) | 2010.01.03 |
[ INNER JOIN OUTER JOIN ] 이너조인 아웃터 조인 간단한 사용법 (0) | 2010.01.03 |
[MSDN]HOWTO: SQL Server에서 SQL 메일을 사용하지 않고 전자 메일 보내기 (0) | 2010.01.03 |
게시 (0) | 2010.01.03 |
SQL서버에서 sp_OACreate를 활용한 메일발송 예제 (0) | 2010.01.03 |
E_FAIL" MS-SQL 오류 (0) | 2009.12.15 |
행의 범위에서 랜덤값 가지고 오기 (0) | 2009.12.07 |
union all 사용할떄 어떤테이블 결과값인지 알기 (0) | 2009.12.04 |