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

ORDERBYで更新

    UPDATE ORDER BYを使用 :

    UPDATE thetable 
      SET columntoupdate=yourvalue 
     FROM (SELECT rowid, 'thevalue' AS yourvalue 
             FROM thetable 
            ORDER BY rowid
          ) AS t1 
    WHERE thetable.rowid=t1.rowid;
    

    UPDATE 順序はまだランダムですが(私は推測します)、UPDATEに提供される値 コマンドはthetable.rowid=t1.rowidと一致します 調子。つまり、私が行っているのは、最初にメモリ内の「更新された」テーブルを選択することです。このテーブルの名前はt1です。 上記のコードで、物理テーブルをt1と同じように表示します 。そして、更新の順序はもう重要ではありません。

    真の順序のUPDATE 、私はそれが誰にとっても役立つとは思わない。



    1. SQL Server(T-SQL)でデータベースメールアカウントを削除する

    2. パターンに一致する値を含むオブジェクトのJSON配列を検索します

    3. 初心者のための5つの実用的なデータベースのヒント

    4. JavaJDBCを介したiBATISを使用したOracleSQLDATE変換の問題