Oracle SQL を使用してテーブル データを更新します
Oracle SQL などのリレーショナル データベースを扱う場合、別のテーブルのデータでテーブルを更新する必要があるシナリオに遭遇することがあります。このタスクは通常、SQL の UPDATE コマンドを使用して実行されます。
質問:
Table 1 と Table 2 という 2 つのテーブルがあり、どちらにも id、name、desc 列が含まれており、一致する ID 値に基づいてテーブル 1 のデータをテーブル 2 の対応するデータで更新する必要があるとします。望ましい結果は、テーブル 1 がテーブル 2 の ID 値に対応する name と desc の値で更新されることです。
解決策:
この更新を実装するには、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 とテーブル 2 の間の結合によりキーが保持されたビューが生成される場合は、次の方法を使用することもできます:
<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>
手順:
以上がOracle SQL テーブルを別のテーブルのデータで更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。