Friday, 2 December 2016

Re: AW: [firebird-support] Sequence

 

Hi 
 
i do not read your whole info but maybe you need to use case statement
 
e.g your 3 update statements can be changed fro:
 

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;

 

to one:

 Update table set prio = CASE WHEN id = 20 THEN newprio(1) ELSE WHEN prio < newprio THEN prio – 1 ELSE WHEN prio > newprio THEN rio + 1 END ;

 

regards,

Karol Bieniaszewski



W dniu 2016-12-02 10:54:57 użytkownik 'Check_Mail' check_mail@satron.de [firebird-support] <firebird-support@yahoogroups.com> napisał:
 

.. and can I order all active records completly?

 

(without a loop)

Update table set prio = 1 to n where prio is not null order by prio?

 

Von: firebird-support@yahoog roups.com [mailto:firebird-support@yahoogroups.com]
Gesendet: Freitag, 2. Dezember 2016 10:44
An: firebird-support@yahoogroups.com
Betreff: AW: [firebird-support] Sequence

 

 

Okay,

 

I would simply change the prio new in steps of 10.

 

Also I can do the following:< /p>

 

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: firebird-support@yahoogroups.com [mailto:firebird-support@yahoogroups.com]
Gesendet: Donnerstag, 1. Dezember 2016 18:47
An: firebird-support@yahoogroups.com
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

 
 

__._,_.___

Posted by: liviuslivius <liviuslivius@poczta.onet.pl>
Reply via web post Reply to sender Reply to group Start a New Topic Messages in this topic (5)

Have you tried the highest rated email app?
With 4.5 stars in iTunes, the Yahoo Mail app is the highest rated email app on the market. What are you waiting for? Now you can access all your inboxes (Gmail, Outlook, AOL and more) in one place. Never delete an email again with 1000GB of free cloud storage.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Visit http://www.firebirdsql.org and click the Documentation item
on the main (top) menu.  Try FAQ and other links from the left-side menu there.

Also search the knowledgebases at http://www.ibphoenix.com/resources/documents/

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

.

__,_._,___

No comments:

Post a Comment