다른 테이블 SELECT 해서 INSERT 또는 UPDATE 하기 > 데이터베이스

본문 바로가기
사이트 내 전체검색


회원로그인

데이터베이스

MS-SQL | 다른 테이블 SELECT 해서 INSERT 또는 UPDATE 하기

페이지 정보

작성자 100K5 작성일13-12-05 12:58 조회41,597회 댓글0건

본문

-- Create table1
CREATE TABLE Table1 (Col1 INT, Col2 INT, Col3 VARCHAR(100));

INSERT INTO Table1 (Col1, Col2, Col3)
SELECT 1, 11, 'First'
UNION ALL
SELECT 11, 12, 'Second'
UNION ALL
SELECT 21, 13, 'Third'
UNION ALL
SELECT 31, 14, 'Fourth'
GO

-- Create table2
CREATE TABLE Table2 (Col1 INT, Col2 INT, Col3 VARCHAR(100));

INSERT INTO Table2 (Col1, Col2, Col3)
SELECT 1, 21, 'Two-One'
UNION ALL
SELECT 11, 22, 'Two-Two'
UNION ALL
SELECT 21, 23, 'Two-Three'
UNION ALL
SELECT 31, 24, 'Two-Four'
GO 
 
Now let us check the content in the table.
SELECT *
FROM Table1
 
SELECT *
FROM Table2
GO

-- 같은 테이블 SELECT 하여 INSERT 하기
INSERT Table1  
(col1, col2, ... colN)
SELECT
(col1, col2, ... colN)
FROM Table1
WHERE col1 = 'value'
ORDER BY col1 ASC ; 
 
-- 같은 테이블 SELECT 하여 UPDATE 하기
UPDATE Table1  
SET col1 = b.col1
FROM Table1, Table1 as b 
WHERE Table1.idx = b.idx ;
  
-- 다른 테이블 SELECT 하여 UPDATE 하기
UPDATE Table1  
SET col2,col3
SELECT col2,col3
FROM Table2
WHERE Table1 col1 IN (21, 31)
  
 -- 다른 테이블과 JOIN 하여 UPDATE 하기
UPDATE Table1
SET Col2 = t2.Col2
, Col3 = t2.Col3
FROM
Table1 t1
INNER JOIN Table2 t2 ON t1.Col1 =
t2.Col1
WHERE t1.Col1 IN (21, 31
)

-- 다른 테이블 SELECT 하여 INSERT 하기
INSERT INTO Table1(col1,col2,col3)
SELECT col1,col2,col3  
FROM Table2
WHERE Table1 col1 IN (21, 31)
 

댓글목록

등록된 댓글이 없습니다.


사이트소개 개인정보취급방침 서비스이용약관 Copyright © kkujunhee.net All rights reserved.
상단으로

개인정보관리책임자 : 관리자

모바일 버전으로 보기