sql >> Base de Datos >  >> RDS >> PostgreSQL

ACTUALIZAR con ORDEN POR

UPDATE con 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 el orden sigue siendo aleatorio (supongo), pero los valores proporcionados a UPDATE coinciden con thetable.rowid=t1.rowid condición. Entonces, lo que estoy haciendo es seleccionar primero la tabla 'actualizada' en la memoria, se llama t1 en el código anterior, y luego hacer que mi tabla física se vea igual que t1 . Y el orden de actualización ya no importa.

En cuanto a la orden verdadera UPDATE , no creo que pueda ser útil para nadie.