Сохраните весь результат запроса в переменной, используя хранимую процедуру postgresql

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

Я не знаю, возможно ли это.

Я новичок в postgre и процедурах, любая помощь будет очень кстати.

Что-то типа:

declare result (I don't know what kind of data type I should use to get a query);
select into result label, number, desc from data 

Заранее спасибо!


person Pri Santos    schedule 20.08.2013    source источник
comment
Тело вашего вопроса не отражает каких-либо исследовательских усилий с вашей стороны. В любом случае, вы можете взглянуть на этот другой поток SO.   -  person Luis Quijada    schedule 20.08.2013


Ответы (1)


Я думаю, вам нужно прочитать документацию PostgreSQL о курсорах.

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

insert into data2 (label, number, desc)
select label, number, desc
from data 

если вы хотите "сохранить" данные из запроса, вы также можете использовать временную таблицу, которую вы можете создать обычными create table или create table as:

create temporary table temp_data as
(
    select label, number, desc
    from data 
)

см. документацию

person Roman Pekar    schedule 20.08.2013
comment
Роман, спасибо за ответ! Мне нужно запросить базу данных и сохранить результат в переменной, а затем манипулировать данными. Только после этого я хочу вставить его в другую таблицу. Вот почему мне нужно было сохранить запрос в переменную. - person Pri Santos; 23.08.2013