Re: SELECT MAX(c) FROM (SELECT ... FOR UPDATE) AS foo

Поиск
Список
Период
Сортировка
От Bruno Wolff III
Тема Re: SELECT MAX(c) FROM (SELECT ... FOR UPDATE) AS foo
Дата
Msg-id 20040817173150.GA22036@wolff.to
обсуждение исходный текст
Ответ на Re: SELECT MAX(c) FROM (SELECT ... FOR UPDATE) AS foo  (Markus Bertheau <twanger@bluetwanger.de>)
Список pgsql-sql
On Tue, Aug 17, 2004 at 16:51:21 +0200, Markus Bertheau <twanger@bluetwanger.de> wrote:
> ?? ??????, 17.08.2004, ?? 16:26, Jean-Luc Lachance ??????????:
> > This query does not make sense to me.
> > Why would you create an updatable subquery just to get the highest value?
> 
> To make sure that the highest value will be the highest value (or then
> second-highest) after I commit the transaction. See my other answer.

If you just need ordering that isn't too sensitive to overlapping transactions,
then using a sequence (using a serial type is a convenient way to do this)
is probably your best bet. You need to make sure the value won't roll over.
But at worst a bigserial should be needed to do this.
There will potentially be gaps in the numbers allocated accross the table.
There will be gaps in the numbers allocated for any value of name. However,
if all you need is ordering that shouldn't matter.


В списке pgsql-sql по дате отправления:

Предыдущее
От: Jean-Luc Lachance
Дата:
Сообщение: Re: SELECT MAX(c) FROM (SELECT ... FOR UPDATE) AS foo
Следующее
От: Josh Berkus
Дата:
Сообщение: Re: multi column foreign key for implicitly unique columns