Okay,
I would simply change the prio new in steps of 10. Also I can do the following: Priority in steps of 1 ID 10 Prio 1 ID 20 Prio 2 ID 23 Prio 3 ID 11 Prio 4 Now the user can Set the ID 23 to Prio 2, how can I realize this without a loop? Update table set prio = newprio(1) where id = 20; Update table set prio = prio - 1 where prio < newprio; Update table set prio = prio + 1 where prio > newprio; ..more simplier? Von: [email protected] [mailto:[email protected]] Gesendet: Donnerstag, 1. Dezember 2016 18:47 An: [email protected] Betreff: RE: [firebird-support] Sequence Olag, > Before > Record 1 prio 3 > Record 2 prio 10 > Record 3 prio 18 > Record 4 prio 20 > Record 5 prio 30 > > The user set the record 4 to prio 15, I would like to do this: > > Record 1 from 3 to 10 > Record 2 from 10 to 20 > Record 3 from 20 (should 15, Destination between record 2 and record 3)) to > 30 > Record 4 to 40 > Record 5 to 50 You example is confusing. If a user can never change the position of Record 4 ahead of Record 3 (as is the case in your example) what purpose does priority serve. If you had said that the outcome you wanted was: Record 1 from 3 to 10 Record 2 from 10 to 20 Record 4 to 30 <-********* Record 3 from 20 (should 15, Destination between record 2 and record 3)) to 40 <-********* Record 5 to 50 Then that would have made sense. Please clarify, the problem domain does matter to the solution. Sean
