У меня есть запрос, например: «select id, field1, field2 from table1» (id и field1 - integer, а field2 - varchar), и мне нужно вызвать запрос из функции и вернуть результат как является.Возвращает результат запроса из функции в postgresql
CREATE OR REPLACE FUNCTION get_all_record()
RETURNS TABLE(id integer , field2 varchar(20)) AS
$$
BEGIN
EXECUTE 'SELECT table1.id, table1.field2 FROM table1' INTO id, field2;
RETURN;
END;
$$
LANGUAGE plpgsql
но это решение возвращает только одну запись в одном поле. Как я могу это исправить?
Вы хотите использовать 'RETURN QUERY' вместо' EXECUTE '...' INTO'. – JNevill
JNevill, но если я использую RETURN QUERY вместо EXECUTE '...' В функцию возвращают все записи в одном поле, например text "(value1, value2)" – ViKo