У меня есть столбец bytea в таблице, которая содержит функцию decode (). То, что я сделал, чтобы получить фактические данные, выглядит следующим образом:
select filename, convert_from(data,'UTF-8') from attachments limit 20; //this returns me decode function
select decode(E'...','hex'); // I am executing the above returned function
Вышеприведенное хорошо, если мне нужно выбрать одну строку. Но теперь мое требование - получить более одного результата. Как я могу получить результат в одном запросе? Я пытался использовать pl / pgsql
CREATE OR REPLACE FUNCTION get_data(integer, _type anyelement, OUT _result anyelement)
AS
$x$
BEGIN
EXECUTE
'SELECT ' || (select convert_from(data,'UTF-8') as data from attachments limit $1)
INTO _result;
END;
$x$
LANGUAGE plpgsql;
Но это работает только для одной строки и одного столбца. То, что я хочу, это один запрос для извлечения 2 столбцов без использования pl / pgsql, если это возможно. Я использую этот запрос из моего веб-приложения на Java.
Спасибо!