~~~sql
UPDATE bildinfo
SET pos = pos + 1 -- Alle Einträge
WHERE pos BETWEEN 5 AND 25 -- zwischen 5 und 25 (25 ist nicht mehr belegt :-))
-- rutschen eins runter
> Du musst auswerten, ob der Eintrag nach oben (wie im Beispiel) oder nach unten verschoben wird und entsprechend reagieren. Hier kannst Du ganz normal mit bedingter Ausführung arbeiten wie in anderen Programmiersprachen auch.
> Freundliche Grüße
>
> Vinzenz
Also Vinzenz, meine Idee mit dem Komma-Zwischenwert ist mist, hast recht :)
So also:
setze alte\_pos 25 auf 0 .
ist alte\_pos 25 und neue\_pos 5, also neue\_pos < alte\_pos rechne ich pos = pos + 1 zwischen alte\_pos und neue\_pos .
setze 0 auf neue\_pos 5 .
Und umgekehrt:
setze alte\_pos 5 auf 0 .
ist alte\_pos 5 und neue\_pos 25, also neue\_pos > alte\_pos rechne ich pos = pos - 1 zwischen zwischen alte\_pos und neue\_pos .
setze 0 auf neue\_pos 25 .
Hab ichs nun gefressen ?
Grüsse Gustl