sql >> Databasteknik >  >> RDS >> PostgreSQL

UPPDATERA med BESTÄLLNING AV

UPDATE med 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 Ordningen är fortfarande slumpmässig (tror jag), men värdena som anges i UPDATE kommandot matchas av thetable.rowid=t1.rowid tillstånd. Så vad jag gör är att först välja den "uppdaterade" tabellen i minnet, den heter t1 i koden ovan och får sedan min fysiska tabell att se ut som t1 . Och uppdateringsordningen spelar ingen roll längre.

När det gäller sannordnad UPDATE , jag tror inte att det kan vara användbart för någon.



  1. När ska jag stänga DatabaseHelper?

  2. ORA-01008:inte alla variabler bundna. De är bundna

  3. NLS_COLLATION_ID() Funktion i Oracle

  4. Effektiva ISNUMERIC()-ersättningar på SQL Server?