하나의 쿼리에서 여러 레코드를 업데이트하는 주소 인 this 질문을 살펴 보았습니다.SQL - 복합 키를 사용하여 하나의 쿼리에서 여러 레코드 업데이트
일반적인 솔루션은
UPDATE table_name
SET field_to_update = CASE table_key
WHEN key_value1 THEN field_value1
WHEN key_value2 THEN feild_value2
ELSE feild_to_update
END
WHERE table_key IN(key_value1 , key_value2);
내 질문이이 복합 키에 대한 수용하기에 적합 할 수있는 사람입니다. 내가 열을 가지고 있다고 말하십시오.
여기서 id_1과 id_2는 복합 기본 키를 형성합니다.
id 열 중 하나가 특정 쿼리에 대해 일정하다는 사실로 인해 문제가 간단 해졌습니다. 예를 들어
, 나는
UPDATE table_name
SET field_to_update = CASE (key1, key2)
WHEN (1,1) THEN field_value1
WHEN (2,1) THEN feild_value2
ELSE feild_to_update
END
WHERE (key1, key2) IN ((1, 1) , (2, 1));
수있는 사람의 도움을 바랍니다의 라인을 따라 뭔가가 필요? 2 피연산자
이기 때문에
경우에 대체 할 수 있습니다 2 피연산자입니다 – scaisEdge
예, 저는 알고 있습니다.하지만 저는 할 수 있기를 원하는 것에 만 가고 싶었습니다. 심지어 그것은 완전히 다른 구문을 요구합니다. –
'CASE'의 다른 형태가 있습니다; '상황 [조건] 그 다음 [어쩌면] [조건 2] 그 다음 [어쩌면 2 .... .... 느리게 ....]. – Uueerdo