【发布时间】:2016-06-10 00:51:47
【问题描述】:
我有一个查询,例如“从 table1 中选择 id、field1、field2”(id 和 field1 是整数,field2 是 varchar),我需要从函数调用查询并按原样返回结果。
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,但如果我使用 RETURN QUERY 而不是 EXECUTE '...' INTO 函数返回一个字段中的所有记录,如文本“(value1,value2)”
标签: postgresql