[SQL] 하나 개의 쿼리로 여러 행을 업데이트?
SQL하나 개의 쿼리로 여러 행을 업데이트?
내가 뭔가를 발견 여기에서 업데이트 한 필드 작품 : http://www.karlrixon.co.uk/articles/sql/update-multiple-rows-with-different-values-and-a-single-sql-query/
UPDATE person
SET name = CASE id
WHEN 1 THEN 'Jim'
WHEN 2 THEN 'Mike'
WHEN 3 THEN 'Precious'
END
WHERE id IN (1,2,3)
내 질문은 두 개 이상의 필드를 업데이트하는 방법은? 예를 들면 :
UPDATE person
SET name = CASE, sex = CASE id
WHEN 1 THEN 'Jim', 'female'
WHEN 2 THEN 'Mike', 'male'
WHEN 3 THEN 'Precious', 'male'
END
WHERE id IN (1,2,3)
어느 물론 작동하지 않습니다. 몇 가지 다른 조합을 시도하고 실패했습니다. 어떤 생각? 감사!
해결법
-
==============================
1.
UPDATE person SET name = CASE id WHEN 1 THEN 'Jim' WHEN 2 THEN 'Mike' WHEN 3 THEN 'Precious' END, sex = CASE id WHEN 1 THEN 'female' WHEN 2 THEN 'male' WHEN 3 THEN 'male' END WHERE id IN (1,2,3)
-
==============================
2.아래처럼 뭔가를 시도. 여러 "SET"문 각 열에 하나를 사용할 수 있습니다.
아래처럼 뭔가를 시도. 여러 "SET"문 각 열에 하나를 사용할 수 있습니다.
UPDATE person SET name = CASE id WHEN 1 THEN 'Jim' WHEN 2 THEN 'Mike' WHEN 3 THEN 'Precious' END, sex = CASE id WHEN 1 THEN 'female' WHEN 2 THEN 'male' WHEN 3 THEN 'male' END WHERE id IN (1,2,3)
from https://stackoverflow.com/questions/2528181/update-multiple-rows-with-one-query by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 거래 SQL은 다른 거래 SQL 스크립트를 실행합니다 (0) | 2020.05.21 |
---|---|
[SQL] SQL 서버는 테이블과 피벗 가입 (0) | 2020.05.21 |
[SQL] SQLite는 주문 Date1530019888000 (0) | 2020.05.21 |
[SQL] SQL 서버에 두 개의 날짜 시간의 차이 (0) | 2020.05.21 |
[SQL] 어떻게 2008는 SQL Server를 사용하여 테이블에서 최고 1,000 행을 삭제하려면? (0) | 2020.05.20 |