| От | Vlad K. |
|---|---|
| Тема | Copy rows, remember old and new pkey |
| Дата | |
| Msg-id | 50B337EB.2040909@haronmedia.com обсуждение исходный текст |
| Ответы |
Re: Copy rows, remember old and new pkey
|
| Список | pgsql-general |
Hello list,
I need to make a copy of certain rows in table A and remember the
original pkey and new pkey in some temporary table B. Basically the copy
statement is INSERT INTO a SELECT * FROM a where a.x=y;
I guess I can do it with a plpgsql function and a FOR loop statement,
because I need two insert statements, the second using returned pkey
from first, but I was wondering if there's a simpler way, perhaps using
WITH?
FOR row IN SELECT * FROM a WHERE a.x=123 LOOP
INSERT INTO a (x, y, z) VALUES (row.x, row.y, row.z) RETURNING pkey
INTO new_pkey;
INSERT INTO b (old_id, new_id) VALUES (row.pkey, new_pkey);
END LOOP;
Thanks,
--
.oO V Oo.
Work Hard,
Increase Production,
Prevent Accidents,
and
Be Happy! ;)
В списке pgsql-general по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера