Oracle 使用联接更新查询:解决 ORA-00933 错误
尝试使用联接更新 table1 中的“total_adjusted_cost”列表 t1 遇到 ORA-00933 错误。此错误表明 SQL 命令未正确终止。
要解决此问题,请考虑使用 MERGE 语句。 MERGE 语句将 INSERT、UPDATE 和 DELETE 语句的功能组合到单个操作中。以下是使用 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 语句中:
使用 MERGE 语句可确保更新正确执行并避免 ORA-00933错误。
以上是使用联接更新 Oracle 表时如何修复 ORA-00933 错误?的详细内容。更多信息请关注PHP中文网其他相关文章!