Marc Reichelt: SQLite: laufenden Zähler in SELECT erzeugen (sinnvoll?)

Beitrag lesen

Hallo Vinzenz,

effektiv suchst Du so etwas wie Oracles ROWNUM, was etwas ganz anderes ist als die ROWID. Beim kurzen Überfliegen der Doku ist mir keine passende Funktion aufgefallen.

Idee: Nutze für die Daten eine (temporäre) Tabelle, die Du per CREATE TABLE ... AS SELECT mit einer ORDER-BY-Klausel füllst. Deren ROWID passt genau auf Deine im Ausgangspost gestellten Anforderungen, siehe http://www.sqlite.org/lang_createtable.html.

Vielen Dank für die Antwort! Ich denke aber dass es sich in diesem Falle für mich sogar lohnt, auf die temporäre Tabelle zu verzichten und diesen Counter manuell als Spalte einzupflegen. Updates auf die Tabelle werden immerhin nicht allzuoft gemacht und die Tabelle wird voraussichtlich nicht mehr als 2000 Zeilen enthalten, insofern sollte das in Ordnung sein. Gibt es wenigstens für die Zuweisung der Zeilennummer an die Spalte eine Generallösung, oder wäre ROWNUM oder eine temporäre Tabelle auch hier benötigt?

Grüße

Marc Reichelt || http://www.marcreichelt.de/

--
DPRINTK("Last time you were disconnected, how about now?");
        linux-2.6.6/drivers/net/tokenring/ibmtr.c
Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)