Update mehrere Zeilen mit verschiedenen Werten in einer einzigen SQL-Abfrage

Ich habe eine SQLite Datenbank mit Tabelle myTable und Spalten idposXposY. Die Anzahl der Zeilen ändert sich ständig (erhöhen oder verringern). Wenn ich weiß, dass der Wert von id für jede Zeile und die Anzahl der Zeilen, die kann ich durchführen, um eine einzelne SQL-Abfrage zu aktualisieren, alle posX und posY Felder mit verschiedenen Werte anhand der id?

Beispiel:

---------------------
myTable:

id   posX    posY

1      35     565
3      89     224
6      11     456
14     87     475
---------------------

SQL-Abfrage pseudocode:

UPDATE myTable SET posX[id] = @arrayX[id], posY[id] = @arrayY[id] "

@arrayX und @arrayY sind arrays, die für die Speicherung der neuen Werte für die posX und posY Felder.

Wenn, zum Beispiel, arrayX und arrayY die folgenden Werte enthalten:

arrayX = { 20, 30, 40, 50 }
arrayY = { 100, 200, 300, 400 }

... dann die Datenbank nach der Abfrage sollte wie folgt Aussehen:

---------------------
myTable:

id   posX    posY

1      20     100
3      30     200
6      40     300
14     50     400
---------------------

Ist das möglich? Ich bin die Aktualisierung einer Zeile pro Abfrage gerade jetzt, aber es dauert Hunderte von Anfragen, wie die Zeilenanzahl erhöht. Ich mache alle diese in der LUFT durch die Art und Weise.

InformationsquelleAutor der Frage astralmaster | 2012-07-19

Schreibe einen Kommentar