ホームページ >データベース >mysql チュートリアル >相関サブクエリを使用して Oracle テーブルを更新するにはどうすればよいですか?
相関サブクエリを使用して Oracle SQL のテーブル データを更新する
一致する ID に基づいて別のテーブルからテーブル データを更新する必要がある場合、Oracle SQL は関連更新と呼ばれる強力なメカニズムを提供します。このアプローチでは、SQL ステートメントでサブクエリを使用することでシームレスな更新が可能になります。
対応する ID に基づいてテーブル 2 のデータでテーブル 1 を更新する例を見てみましょう。
<code>Table 1: id name desc ----------------------- 1 a abc 2 b def 3 c adf Table 2: id name desc ----------------------- 1 x 123 2 y 345</code>
Oracle SQL でこの更新を実行するには、次のクエリを使用できます:
<code class="language-sql">UPDATE table1 t1 SET (name, desc) = (SELECT t2.name, t2.desc FROM table2 t2 WHERE t1.id = t2.id) WHERE EXISTS ( SELECT 1 FROM table2 t2 WHERE t1.id = t2.id )</code>
このクエリは相関サブクエリを使用して、テーブル 1 の ID に基づいてテーブル 2 から一致するデータを抽出します。 WHERE 句により、表 2 に対応する行がある表 1 の行のみが更新されます。
結合結果がキー保持ビューの場合は、次のクエリを使用することもできます:
<code class="language-sql">UPDATE (SELECT t1.id, t1.name name1, t1.desc desc1, t2.name name2, t2.desc desc2 FROM table1 t1, table2 t2 WHERE t1.id = t2.id) SET name1 = name2, desc1 = desc2</code>
このクエリは派生テーブルで更新を実行します。両方のテーブルの一致するデータが ID 列によって結合されます。後続の SET 句は、表 1 の列を表 2 の値で更新します。
これらの関連する更新テクノロジを使用することで、Oracle SQL のデータを効率的に更新し、テーブル間のシームレスな同期とデータの一貫性を確保できます。
以上が相関サブクエリを使用して Oracle テーブルを更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。