オラクルSQL--は、データのテーブルと別のテーブルのデータを更新する方法

背景

  • データ処理手順は、データテーブルB(ターゲットテーブル)のテーブルA(ソース・テーブル)を更新する必要があります

前提

  • 2つの表は、関連分野でなければなりません
  • 二つのテーブルが2つのテーブルの関係条件が満たされなければならない場合、関連するフィールドジョイント調査を使用して:テーブルとソーステーブルまたは多対1の関係との間のターゲット表でなければなりません

使用

  • 以下のような基本的なSQL
    更新にtableA Aが設定 A.val =セレクトヴァルから TABLEB B A.idd = ; B.idd)を

スプレッド

  • SQLのようにテーブルBは、ソースとデスティネーションテーブルが同じテーブルであり、典型的には、サブクエリのいずれかで置き換えることができ、以下のように、SQLを拡張することができます
    更新にtableA Aが設定 A.val = 選択 C.valをから選択 B.val としてのVal、B.idd として IDD からにtableA B ここ A.idd = B.idd)C ここ A.idd = C.idd。
  • エラー
    • エラー:ORA-01427:単一行副問合せが返す複数行を超えます
    • 理由:テーブルとソーステーブルのリレーションシップとの間のターゲットテーブルで、その結果、複数のデータを返すサブクエリに関連する現在の条件の下では、エラーが発生、多くなります

おすすめ

転載: www.cnblogs.com/zuiyue_jing/p/11839472.html