Je tedy potřeba data přečíslovat. Víceméně je to banalita. Všechny přečíslování vždy uzavírat do transakce kvůli konzistentnosti dat. A následně jednotlivé úkony: Při vkládání položek: 1) Najít číslo pořadí před které vložit. 2) Posunout stávající položky dopředu // UPDATE Poradi=Poradi+1 FROM ... WHERE Poradi >= @poradiNovePolozky 3) Vložit novou položku s novým pořadím Při mazání položek: 1) Najít číslo pořadí které chceme mazat. 2) Smazat tuto položku 3) Posunout stávající položky zpět // UPDATE Poradi=Poradi-1 FROM ... WHERE Poradi > @poradiMazanePolozky Při přehazování položek mezi sebou: To snad ani nemá smysl postup rozebírat - přehodíte číslat pořadí obou položek.
|