sql >> Database teknologi >  >> RDS >> PostgreSQL

OPDATERING med BESTIL AF

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 rækkefølgen er stadig tilfældig (jeg gætter på), men værdierne leveres til UPDATE kommandoen matches af thetable.rowid=t1.rowid tilstand. Så hvad jeg gør er, først at vælge den 'opdaterede' tabel i hukommelsen, den hedder t1 i koden ovenfor, og derefter få min fysiske tabel til at se ud som t1 . Og opdateringsrækkefølgen er ligegyldig længere.

Med hensyn til ægte ordnet UPDATE , jeg tror ikke, det kunne være nyttigt for nogen.



  1. Forespørgsel timeout, når den udføres fra web, men superhurtig, når den udføres fra SSMS

  2. Top 10 metoder til at forbedre ETL-ydeevne ved hjælp af SSIS

  3. Tilføj valutategn £, $ til visse felter ORACLE

  4. LAST_DAY() Funktion i Oracle