#postgresql
#postgresql
Вопрос:
Я делаю
INSERT INTO table DEFAULT VALUES RETURNING id
который возвращает идентификатор, который позже используется в вызывающем коде. Но если я сделаю
INSERT INTO table DEFAULT VALUES RETURNING id;
INSERT INTO table DEFAULT VALUES RETURNING id;
INSERT INTO table DEFAULT VALUES RETURNING id;
Я получаю только последнее возвращаемое значение.
Каков правильный способ сделать это, в виде конструкции «сделать это n раз» или объединения вышеуказанных (которые должны работать для любого запроса возврата)?
Ответ №1:
Вы можете использовать (менее известный факт), что вы можете запустить оператор SELECT, не помещая ни одного столбца в список выбора.
insert into the_table --<< no columns here!
select --<< no columns here either!
from generate_series(1,3);