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

Oracleの内部結合でステートメントを更新します

    その構文はOracleでは無効です。これを行うことができます:

    UPDATE table1 SET table1.value = (SELECT table2.CODE
                                      FROM table2 
                                      WHERE table1.value = table2.DESC)
    WHERE table1.UPDATETYPE='blah'
    AND EXISTS (SELECT table2.CODE
                FROM table2 
                WHERE table1.value = table2.DESC);
    

    または、可能性があります これを行うことができます:

    UPDATE 
    (SELECT table1.value as OLD, table2.CODE as NEW
     FROM table1
     INNER JOIN table2
     ON table1.value = table2.DESC
     WHERE table1.UPDATETYPE='blah'
    ) t
    SET t.OLD = t.NEW
    

    インラインビューがOracleによって更新可能であると見なされるかどうかによって異なります( 2番目のステートメントで更新可能であるかどうかは、ここにリストされているいくつかのルールによって異なります



    1. SQLテーブル結合のON句とWHERE句の違い

    2. WordPressのインストール方法:サーバーソフトウェア

    3. DLL'SqlServerSpatial.dll'を読み込めません

    4. 2016年7月PSUはisqoraの作成に失敗しました