ホームページ > データベース > mysql チュートリアル > 結合を使用して Oracle テーブルを更新するときに発生する ORA-00933 エラーを修正する方法

結合を使用して Oracle テーブルを更新するときに発生する ORA-00933 エラーを修正する方法

DDD
リリース: 2024-12-30 06:17:30
オリジナル
620 人が閲覧しました

How to Fix ORA-00933 Error When Updating Oracle Tables Using Joins?

結合を使用した 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 ステートメント内:

  • USING 句は、更新のソース データを提供するテーブル t1 を指定します。 .
  • ON 句は、table1 と table1 の間の結合条件を指定します。 t1.
  • WHEN MATCHED 句は、一致した行に対して実行される更新操作を指定します。

MERGE ステートメントを使用すると、更新が適切に実行され、ORA-00933 が回避されます。エラー。

以上が結合を使用して Oracle テーブルを更新するときに発生する ORA-00933 エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート