sql >> データベース >  >> RDS >> Oracle

Oracle 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 )
    

    結合の結果がキー保存ビューになると仮定すると、次のこともできます

    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
    


    1. Node.jsを介してPostgresに接続する方法

    2. 修正:Oracleデータベースの「間隔の主要な精度が小さすぎる」

    3. Oracle PL / SQL:BLOBまたはCLOBが空かどうかを確認します

    4. DBMSによるスキーマ定義