RE: [pgsql-ru-general] Вопрос по нумерации - Mailing list pgsql-ru-general

From Владимир Комаров
Subject RE: [pgsql-ru-general] Вопрос по нумерации
Date
Msg-id 001001d0e0f2$1382efc0$3a88cf40$@sibnet.ru
Whole thread Raw
In response to Вопрос по нумерации  (Владимир Комаров <vlads@sibnet.ru>)
List pgsql-ru-general

Разобрался сам:

Оказалось проще простого:

SELECT max(x)+1 INTO n

SELECT xx INTO res FROM generate_series(2,n) xx

WHERE xx NOT IN (SELECT x FROM tbl) LIMIT 1

 

 

 

From: Владимир Комаров [mailto:vlads@sibnet.ru]
Sent: Thursday, August 27, 2015 11:17 PM
To: 'Alexey Vasiliev' <leopard_ne@inbox.ru>
Subject: RE: [pgsql-ru-general] Вопрос по нумерации

 

Спасибо, но этот вариант я знаю:

Сделать строку str:=1,2,3,4…n

Где SELECT max(x)+1 INTO n

А ПОТОМ нечто подобное:

SELECT xx INTO res from (SELECT regexp_split_to_table(str) xx) WHERE xx NOT IN (SELECT x FROM tbl) LIMIT 1

 

Но хотелось более элегантный способ формирования таблицы str или (regexp_split_to_table(str))

 

From: Alexey Vasiliev [mailto:leopard_ne@inbox.ru]
Sent: Thursday, August 27, 2015 10:42 PM
To:
Владимир Комаров <vlads@sibnet.ru>
Cc:
pgsql-ru-general@postgresql.org
Subject: Re: [pgsql-ru-general]
Вопрос по нумерации

 

На алгоритмах есть такое:

http://algolist.manual.ru/olimp/poi_sol.php#a10

Thursday, 27 August 2015, 06:26PM +03:00 from Владимир Комаров <vlads@sibnet.ru>:

Есть таблица. Есть столбец Х .

Необходимо внести строку так, чтобы номер, попадаемый в Х был минимальным уникальным.

Например, есть строки: 1,2,3,4,6,7,9

Значит новая строка должна быть с номером 5

Как это сделать максимально быстро?

 

 

pgsql-ru-general by date:

Previous
From: Андрей Зевакин
Date:
Subject: Re: [pgsql-ru-general] Вопрос по нумерации
Next
From: Nikolay Samokhvalov
Date:
Subject: #PostgreSQLRussia — №3 в мире! 👏 Анонсы на сентябрь и октябрь 2015