Cześć wszystkim,
mam tabelę w bazie danych (przykładowa):
ID, Name, Order, Visible:
1, pierwszy, 1, 1
3, drugi, 4, 1
4, trzeci, 2, 1
7, czwarty, 8, 1
27, piąty, null, 0
Funkcjonalność polega na tym, że na stronie wyświetlane są informacje z rekordów w kolejności według kolumny "Order" od 1 do +~ jeżeli w kolumnie Visible jest wartość 1.
Jednak, w niektórych przypadkach np. usunięcia rekordu ze środka tabeli, powstaje luka (tak jak w przykładowej bazie) gdzie prawidłowa kolumna "Order" powinna zawierać wszystkie liczby od 1 do ~ czyli 1, 2, 3, 4, 5, itd., a nie 1, 3, 4, 8 itd. (brakuje 2, 5, 6, 7). Dodatkowa sprawa, że niektóre rekordy w kolumnie Order nie mają wartości (wartość null), ponieważ nie są widoczne na stronie.
Potrzebuje stworzyć zapytanie do bazy, które np. w przypadku usunięcia rekordu ze środka tabeli, zaktualizuje wartości w kolumnie Order od 1 do +~ dla wszystkich rekordów, które w kolumnie Order nie mają wartości null, i w obecnej kolejności według kolumny Order.
Próbowałem napisać takie zapytanie (nawet na razie pominąłem fakt, żeby ominąć rekordy z wartością null w kolumnie Order, i w kolejności według order) lecz nawet to nie udaje mi się.
Byłbym bardzo wdzięczny za pomoc.
EDIT. Ta funkcjonalność ma zastosowanie w systemie CMS, który sam piszę, dla ustawiania widoczności i kolejności wyświetlania podstron (zmiana kolejności podstron odbywa się poprzez zapytanie, które aktualizuje kolumnę Order o 1 w górę lub 1 w dół, (w zależności od kierunku) oba rekordy, które zapytanie dotyczy)