[mssql] 업데이트 필드 출력하고 싶을 때 (OUTPUT)

less than 1 minute read

영향받은 필드들을 출력하고 싶거나, 추가 로직을 하고 싶을 때 output문을 활용하면 쉽게 해결할 수 있다.

Reference

Query

(1) 하나의 행만 영향 받을 때

DECLARE @id INT

UPDATE Foo 
SET Bar = 1, @id = id 
WHERE Baz = 2

SELECT @id

(2) 여러 행에 영향 받을 때

declare @ids table (id int);

UPDATE Foo
SET Bar = 1
OUTPUT INSERTED.Id INTO @ids
WHERE Baz = 2

INSERTED - 업데이트 후의 데이터 출력
DELETED - 업데이트 전의 데이터 출력

Comments