結合を使用した Oracle Update クエリ: ORA-00933 エラーの解決
結合を使用して table1 の 'total_adjusted_cost' 列を更新しようとしましたテーブル t1 で ORA-00933 エラーが発生しました。このエラーは、SQL コマンドが適切に終了されなかったことを示します。
この問題を解決するには、代わりに MERGE ステートメントの使用を検討してください。 MERGE ステートメントは、INSERT、UPDATE、および DELETE ステートメントの機能を 1 つの操作に結合します。 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 中国語 Web サイトの他の関連記事を参照してください。