Postgresql函数:具有动态分配类型的返回表

时间:2019-02-21 07:12:00

标签: postgresql

我正在研究一种Postgresql函数,该函数使用动态查询执行并返回表。下面是我现在正在尝试的方法。

CREATE OR REPLACE FUNCTION public.function_name(tableName character varying, idValue uuid, limitValue bigint)
    RETURNS Table( -- Not sure what goes here )
    LANGUAGE 'plpgsql'

    COST 100
    VOLATILE 
AS $BODY$

DECLARE 
    sqlQuery character varying;

BEGIN

sqlQuery := 'select col1,col2,col3 from ' || tableName || ' where id= ''' || idValue || ''' order by idValue asc limit '''|| limitValue ||'''';

RETURN QUERY EXECUTE sqlQuery;

END

$BODY$;

此处表应动态选择。表的列名称相同。但是它的类型不同。

  

例如:表1:col1字符可变,col2 uuid,col3 json表2:   col1 uuid,col2字符变化,col3字符变化等。

有没有一种方法可以动态定义结果表列类型?

0 个答案:

没有答案