조인을 사용하여 Oracle 테이블 업데이트
목표는 조인을 사용하여 테이블을 업데이트할 때 "ORA-00933: SQL 명령" 오류가 발생하는 것입니다. 올바르게 종료되지 않았습니다."
이는 제공된 쿼리가 구문상 올바르지 않기 때문에 발생합니다. 쿼리 논리는 공통 열로 조인된 여러 테이블에서 합계를 계산하고 계산된 합계로 원래 테이블을 업데이트하는 것입니다.
이 문제를 해결하려면 대신 보다 명시적인 방법을 제공하는 MERGE 문을 사용하는 것이 좋습니다. 조건에 따라 데이터를 업데이트합니다. MERGE 구문은 비즈니스 규칙에 더욱 효율적으로 맞춰집니다.
다음은 MERGE 문을 사용하여 수정된 쿼리입니다.
MERGE INTO table1 tab1 USING ( SELECT tab3.name, tab3."add", SUM(tab2.amount) AS total FROM table2 tab2, table3 tab3 , table4 tab4 WHERE tab2.id = tab3.id AND tab3.id = tab4.id AND tab4.indicator ='Y' GROUP BY tab3.name, tab3."add" ) t1 ON (tab1.id = t1.id) WHEN MATCHED THEN UPDATE SET tab1.total_adjusted_cost = tab1.total_adjusted_cost + t1.total;
이 MERGE 문은 다음과 같습니다.
위 내용은 조인을 사용하여 Oracle 테이블을 올바르게 업데이트하고 ORA-00933 오류를 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!