【发布时间】:2013-05-21 18:04:25
【问题描述】:
我有一个看起来像这样的函数:
CREATE OR REPLACE FUNCTION mffcu.test_ty_hey()
RETURNS setof record
LANGUAGE plpgsql
AS $function$
Declare
cname1 text;
sql2 text;
Begin
for cname1 in
select array_to_string(useme, ', ') from (
select array_agg(column_name) as useme
from(
select column_name::text
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'crosstab_183'
and ordinal_position != 1
) as fin
) as fine
loop
sql2 := 'select distinct array['|| cname1 ||'] from mffcu.crosstab_183';
execute sql2;
end loop;
END;
$function$
我用这个来调用函数:
select mffcu.test_ty_hey()
如何在不创建表/临时表的情况下返回sql2 查询的结果?
【问题讨论】:
-
您忘记提及您的 PostgreSQL 版本。
-
@ErwinBrandstetter 它是 psql 9.1 版,服务器 9.0 版。
标签: sql function postgresql plpgsql