Database
CASE문으로 SQL 동적으로 업데이트 하기
Nhahan
2022. 11. 10. 17:10
a, b, c, d라는 컬럼이 있고,
업데이트 시 새로운 @a, @b, @c, @d 값이 존재할 때만 각각의 컬럼들을 업데이트하고 싶을 때 간단하게 쿼리를 짤 수 있다.
UPDATE [테이블명]
SET a = CASE WHEN @a IS NOT NULL THEN @a ELSE a END,
b = CASE WHEN @b IS NOT NULL THEN @b ELSE b END,
c = CASE WHEN @c IS NOT NULL THEN @c ELSE c END,
d = CASE WHEN @d IS NOT NULL THEN @d ELSE d END,
빈스트링도 허용하지 않겠다하면
UPDATE [테이블명]
SET a = CASE WHEN @a IS NOT NULL OR @a = '' THEN @a ELSE a END
식으로 응용하면 된다.