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



Reply via email to