UPDATE
met 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
volgorde is nog steeds willekeurig (denk ik), maar de waarden geleverd aan UPDATE
commando komen overeen met thetable.rowid=t1.rowid
voorwaarde. Dus wat ik doe is, eerst de 'bijgewerkte' tabel in het geheugen selecteren, deze heet t1
in de bovenstaande code, en vervolgens mijn fysieke tabel er hetzelfde uit laten zien als t1
. En de updatevolgorde doet er niet meer toe.
Wat betreft echte geordende UPDATE
, ik denk niet dat het nuttig kan zijn voor iedereen.