1
다음 쿼리가 있습니다.UPDATE에서 중복 코드 제거
UPDATE A SET b = (SELECT b FROM B WHERE A.a_id = B.a_id AND B.value = ?)
값이? 인 B에 a_id가 없으면 NULL 값으로 채울 수 있습니다. 하지만이 쿼리를 실행하기 전에 A.b에 NULL 값만 포함되어 있기 때문에 문제가되지 않습니다.
그러나 수행 된 업데이트 수를 반영하기 위해 업데이트 된 열 수가 필요합니다. 그래서 이것을 다음과 같이 변경했습니다 :
중복 된 코드가 있고 매개 변수를 여러 번 입력해야하므로이 솔루션이 마음에 들지 않습니다. where 절이 좀 더 복잡 해지면 이것은 더 추해집니다.
이 중복 코드를 없애는 방법이 있습니까?
은 (BTW 나는 오라클 (10)에있어,하지만 난 DB 독립적 인 솔루션을 선호)이이 특정 RDBMS에 허가되어 있지 않은 경우, 아마 당신은 수,
'MERGE'문을보십시오. –