Riconsidererei il design del database. Se sarai limitato all'ordine di 10.000 record, non è male, ma se questo aumenterà senza limiti, allora vorrai fare qualcos'altro. Non sono sicuro di cosa stai facendo, ma se vuoi un semplice ordine (supponendo che non stai facendo molti traversal) allora puoi avere un prev_id
e next_id
colonna per indicare i rapporti tra fratelli. Ecco la risposta alle tue domande però:
update some_table
set some_position = some_position + 1
where some_position > 5000 and some_position < 10000