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

一部のテーブルと結合するときの更新クエリでの構文エラー

    Oracleはjoinをサポートしていません updateで 構文:

    UPDATE T123
        SET COL1 = 1,
            VER1 = VER1 + 1
        WHERE EXISTS (SELECT 1 FROM WAPTDT_123 T WHERE T123.REQUEST_ID = T.NUM_FLD);
    

    これは標準SQLであり、どのデータベースでも機能するはずです。

    クエリには他の問題もあります。 。 。サブクエリは括弧内にありません。inner join 最初のテーブルはありません。

    編集:

    このクエリは、そのサブクエリで記述できます:

    UPDATE T123
        SET COL1 = 1,
            VER1 = VER1 + 1
        WHERE T123.REQUEST_ID IN (SELECT C1 FROM ( SELECT T.NUM_FLD C1 FROM WAPTDT_123 T) TAB );
    

    これをINに切り替えました 、それが別のオプションだからです。引き続きEXISTSを使用できます 。




    1. MySQLのローリングアップグレードを実行する方法

    2. Python、Ruby、およびGolang:Webサービスアプリケーションの比較

    3. ContentValuesを介してデータベースにタイムスタンプを挿入します

    4. SQL Serverの小数点以下の桁数を切り捨てる(丸めない)