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)
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
SELECT col1,col2,col3
FROM Table2
WHERE Table1 col1 IN (21, 31)
댓글목록
등록된 댓글이 없습니다.