UPSERT 개념
정의
간략하게 Update + Insert이며, Update 할 대상 row가 있을 경우 Update, 없을 경우 Insert입니다.
MySql의 경우 사용 방법
INSERT INTO t1 (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;
MsSql의 경우 사용 방법
CREATE PROCEDURE dbo.InsertOrUpdateEmployee @ID INT, @Name VARCHAR(50), @ItemName VARCHAR(50), @ItemCatName VARCHAR(50), @ItemQty DECIMAL(15,2) AS BEGIN IF NOT EXISTS (SELECT * FROM dbo.Table1 WHERE ID = @ID) INSERT INTO dbo.Table1(ID, Name, ItemName, ItemCatName, ItemQty) VALUES(@ID, @Name, @ItemName, @ItemCatName, @ItemQty) ELSE UPDATE dbo.Table1 SET Name = @Name, ItemName = @ItemName, ItemCatName = @ItemCatName, ItemQty = @ItemQty WHERE ID = @ID END
- 추후에 Merge를 활용 한 방법 추가 예정입니다.