如何在postgresql函数中使用可选的返回值

时间:2017-05-03 09:17:56

标签: postgresql

我知道一个表可以从postgresql函数返回,如下所示,

CREATE OR REPLACE FUNCTION public.tmp()
 RETURNS table(num int, name text)
 LANGUAGE plpgsql
AS $function$
DECLARE rslt record;
begin
for rslt in select * from t1 loop num:=rslt.num; name:=rslt.name; return next; end loop;        
return ; end;$function$;

但我需要返回2个不同的表作为可选表,即根据条件执行的任何表。

例如:我有2个表结构。

table(num int, name text)
table(num int, name text, value text)

我需要返回这些表结构中的任何一个。

如何做到这一点?

1 个答案:

答案 0 :(得分:0)

您还可以创建所需的两种不同数据类型的列并传递到记录类型。然后你回来了

将类型数据类型创建为(列类型,列类型);