Множественная вставка postgresql с запросом выбора

мне нужно выполнить запрос на вставку для нескольких строк, при этом первый столбец является числовым и идентичным значением, а вторые значения запрашиваются из другой таблицы.

что-то вроде

вставить в таблицу (33, выбрать col2 из other_table);

можно ли это сделать с помощью одного оператора?


person alan    schedule 31.05.2010    source источник


Ответы (2)


как это

insert into table 
select 33, col2 from another_table;
person SQLMenace    schedule 31.05.2010
comment
в этом примере вставляемая таблица должна иметь только два поля: одно будет получать числовое значение, а другое того же типа, что и col2, из other_table. - person pcent; 31.05.2010
comment
Мне было интересно, есть ли возможность явно указывать столбцы, например: вставить в таблицу (id, col2_name) values((select 33, col2 from other_table))? - person luigi7up; 26.07.2013

Если вы хотите указать столбцы в своем запросе на вставку, вы должны использовать этот синтаксис:

INSERT INTO table (id, col2_name) (SELECT 33, col2 FROM another_table);
person Ivan    schedule 16.11.2016