В функции plpgsql, как можно выбрать несколько строк и столбцов в переменную записи?ВЫБЕРИТЕ несколько строк и столбцов в переменную записи
Например, я хотел бы SELECT
несколько экземпляров двух столбцов (yearinteger
и value
) в переменную записи (yearvalues
).
* EDIT - следующий код является лишь частью более длинной функции, мне нужна переменная yearvalues
чтобы содержать несколько строк и столбцов из таблицы, из которой я могу создать дополнительные переменные из
CREATE OR REPLACE FUNCTION fn_function()
RETURNS TABLE() AS $$
DECLARE
year c.year%TYPE;
value c.value%TYPE;
yearvalues record;
BEGIN
FOR yearvalues IN
SELECT c.year, c.value FROM c
LOOP
END LOOP;
-- creation of additional variables from the yearvalues variable
END;
$$ LANGUAGE plpgsql;
.. и когда вы запускаете эту функцию, что происходит? (Всегда показывать точный текст сообщения об ошибке). –
прочитайте [это] (http://www.day32.com/MySQL/Meetup/Presentations/postgresql_stored_procedures.pdf) и просмотрите [Ресурсы PosgreSQL в SO] (http://stackoverflow.com/tags/postgresql/info) –
Если функция возвращает таблицу, почему бы не использовать функцию 'sql', которая просто возвращает результат' select'? Или 'return query' в функции PL/pgSQL? –