gestern musste ich zu einer existierenden Tabelle mit Daten ein id-feld dazu erfinden und fuellen. das hat dummerweise auch noch geklappt, obwohl ich die chancen schlecht einschaetze.
und zwar hab ich en integer feld dazu ge-ALTER't und dann mit
- Code: Alles auswählen
UPDATE table
set id = nextVal('sequence');
- Code: Alles auswählen
UPDATE table t
set zahl = <subquery s where s correlates t>;
Ich meine - schoen das es mir geholfen hat - aber irgendwie ist das verhalten doch nicht konsistent. Zu erwarten war, dass nextVal einen Wert geliefert haette mit dem dann die gesamte range des Update initialisiert würde.
Warum also ist das dort anders?
War'n die PG-Entwickler betrunken - so dass sie plötzlich - angesteckt von der Einfachheit des Seins - pragmatische Lösungen entwickelten ?

[edit] ich glaube ich hab nen denkfehler ... weil ich an ein spezielles problem gedachte habe .. die subquery wird auch fuer jede row ausgefuehrt .. nur wenn sie z.B. auf die update-table laeuft, dann sieht die nur all das VOR dieser transaktion .. und daher kann ich z.B. schlecht nummern aus der subquery ueber das count der datensaetze erzeugen, die ich bereits geupdated habe ..
