我有查询例如“select table,field1,field2 from table1”(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
但此解决方案只返回一个字段中的一条记录。我该如何纠正?
答案 0 :(得分:1)
试试这个:
CREATE OR REPLACE FUNCTION get_all_record(OUT id integer, OUT field2 varchar(20))
RETURNS SETOF record
AS $$
BEGIN
RETURN QUERY SELECT table1.id, table1.field2 FROM tiers;
END;
$$
LANGUAGE plpgsql;