下面是我的函数是什么样子的:
create or replace function datafabric.test(psi_codes text[])
returns table (asset character varying (255), parent_asset character varying (255))
as
$$
select asset, parent_asset
from americas.asset a
left join americas.prod_int p on a.row_id = p.row_id
where root_asset_id in (select root_asset_id from americas.asset where p.name = ANY($1))
$$ LANGUAGE 'SQL' VOLATILE;然而,问题是我得到了这个
错误:函数datafabric.test()在函数创建期间不存在SQL state: 42883。
请注意,此功能可以工作。但是,我希望在pgadmin屏幕上输出结果。我现在不能这么做。
请帮帮忙。我正在使用PostgreSQL8.3版本。
发布于 2016-05-14 02:01:54
PostgreSQL 8.3不支持函数的返回表。您还必须指定没有引号的函数的语言。
您可以通过以下方式实现类似的行为:
create or replace function
datafabric.test(psi_codes text[],
OUT asset character varying (255),
OUT parent_asset character varying (255))
RETURNS SETOF RECORD as $$
select asset, parent_asset
from americas.asset a
left join americas.prod_int p on a.row_id = p.row_id
where root_asset_id in (select root_asset_id from americas.asset where p.name = ANY($1))
$$ LANGUAGE SQL VOLATILE;https://stackoverflow.com/questions/37218540
复制相似问题