프로그래밍/DataBase
[MSSQL] Multi UPDATE, 다중 UPDATE
홍반장水_
2023. 7. 19. 09:18
반응형
--1. 일반적인 방법
UPDATE [TABLE_1]
SET COL1 = SUB_COL1
, COL2 = SUB_COL2
, COL3 = SUB_COL3
FROM
(
SELECT SUB_COL1
, SUB_COL2
, SUB_COL3
, USER_NUM
FROM [TABLE_2]
WHERE [조건...]
) SUB1
WHERE [TABLE_1].USER_NUM = SUB1.USER_NUM
--2. CTE 를 사용한 방법
WITH CTE_TABLE AS
(
SELECT SUB_COL1, SUB_COL2, SUB_COL3, USER_NUM
FROM [TABLE_2]
WHERE [조건...]
)
UPDATE [TABLE_1]
SET COL1 = SUB_COL1
, COL2 = SUB_COL2
, COL3 = SUB_COL3
FROM CTE_TABLE SUB1
WHERE [TABLE_1].USER_NUM = SUB1.USER_NUM
-- 1. 먼저 현재값과 update해야할 값을 조회해본다.
select a.컬럼1, b.컬럼1
,a.컬럼2, b.컬럼2
,a.컬럼3, b.컬럼3
,a.컬럼4, b.컬럼4
FROM 테이블1 a inner join 테이블2 b on a.컬럼1 =b.컬럼2 and a.컬럼1_1=b.컬럼2_2
where a.컬럼 = 조건
-- 2. ,을 =로 바꾸주고 바로 update 해준다.
update a set a.컬럼1 = b.컬럼1
,a.컬럼2 = b.컬럼2
,a.컬럼3 = b.컬럼3
,a.컬럼4 = b.컬럼4
FROM 테이블1 a inner join 테이블2 b on a.컬럼1 =b.컬럼2 and a.컬럼1_1=b.컬럼2_2
where a.컬럼 = 조건
반응형