PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

AKTUALISIEREN mit ORDER BY

UPDATE mit 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 Die Reihenfolge ist immer noch zufällig (schätze ich), aber die Werte, die an UPDATE geliefert werden Befehl werden durch thetable.rowid=t1.rowid abgeglichen Zustand. Also wähle ich zuerst die „aktualisierte“ Tabelle im Speicher aus, sie heißt t1 in den obigen Code einfügen und dann meine physische Tabelle so gestalten, dass sie genauso aussieht wie t1 . Und die Update-Reihenfolge spielt keine Rolle mehr.

Wie für richtig bestelltes UPDATE , ich glaube nicht, dass es für irgendjemanden nützlich sein könnte.