merge 구문 사용시 아래와 같이 사용하였는데.. 아무런 액션이 없어서 문의 드립니다.
CREATE TABLE #CSScolorOrders
(
colID INT PRIMARY KEY,
ordID INT NOT NULL,
corQuantity INT NOT NULL
);
MERGE #CSScolorOrders AS TARGET
USING (SELECT * FROM #CSScolorOrders WHERE ordID = 3) AS SOURCE(colID,ordID,corQuantity)
ON (SOURCE.colID = TARGET.colID) WHEN
MATCHED THEN UPDATE SET corQuantity = 1
WHEN
NOT MATCHED BY SOURCE
THEN INSERT (colID, ordID, corQuantity) VALUES (1, 3, 1)
OUTPUT $action, inserted.*, deleted.*;
SELECT *
FROM #CSScolorOrders
DROP TABLE #CSScolorOrder
질문의 요지는 Source 테이블과 Target테이블이 동일한 경우 merge구문 사용이 불가한가요?
잘되는데요..
SOURCE 에 해당하는 자료가 있는지 확인해 보세요.
아무 문제 없이 잘 됩니다.