| От | Harald Fuchs |
|---|---|
| Тема | Re: “Loop” in plpgsql Function -PostgreSQL 9.2 |
| Дата | |
| Msg-id | 871t9enejf.fsf@hf.protecting.net обсуждение исходный текст |
| Ответ на | “Loop” in plpgsql Function - PostgreSQL 9.2 ("drum.lucas@gmail.com" <drum.lucas@gmail.com>) |
| Список | pgsql-general |
"drum.lucas@gmail.com" <drum.lucas@gmail.com> writes:
> So, the new plan is:
>
> 1 - Select 50.000 rows and gives it a batch number.
> 2 - Select *MORE* 50,000 rows and gives it a *NEW* batch number.
> 3 - Select *MORE* 50,000 rows and gives it a *NEW* batch number.
Why so complicated? Here's a simplified example:
CREATE TABLE mytable (
id serial NOT NULL,
payload int NOT NULL,
batch_number int NULL,
PRIMARY KEY (id)
);
INSERT INTO mytable (payload)
SELECT x FROM generate_series(1, 2000) AS g(x);
\set batchSize 600
UPDATE mytable
SET batch_number = (id % (SELECT count(*) FROM mytable) / :batchSize) + 1;
SELECT batch_number, count(*) AS cnt
FROM mytable
GROUP BY batch_number
ORDER BY batch_number;
В списке pgsql-general по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера