2015-07-26 7 views
1

У меня есть запрос A, возвращающий значения integer, numeric, integer. и стол B:plpgsql как вставить результаты запроса в таблицу?

(id integer, 
    weight numeric, 
    price integer 
    ) 

запрос возвращает количество строк. Я хочу вставить эти строки непосредственно в B. B не нужен ни PK ...

CREATE OR REPLACE FUNCTION func() 
    RETURNS void AS 

$BODY$ 
begin 

     query A 
     insert to B? 

     continue function operation 
end; 
$BODY$ 
    LANGUAGE plpgsql VOLATILE 

Я знаю, что это что-то вроде:

for row in query A 
loop insert into B 

, но я не могу найти правильный синтаксис

ответ

1

Вы бы сделать что-то вроде :

insert into b(id, weight, price) 
    select id, weight, price -- or whatever the column names are 
    from A; 

Синтаксис insert . . . select не изменяется, поскольку вы ar е в функции.

Смежные вопросы