在plpgsql函数中使用参数作为返回类型

时间:2018-01-06 02:23:35

标签: postgresql types plpgsql

说我有这个问题:

CREATE OR REPLACE FUNCTION select_from_table(table_name varchar(63))
  RETURNS SETOF table_name AS
$$
DECLARE
    query TEXT := 'SELECT * FROM ' || table_name;
BEGIN
    RETURN QUERY EXECUTE query;
END;
$$ LANGUAGE plpgsql;

现在如果我尝试执行它,我得到error: type "table_name" does not exist,这可能是因为我只能使用函数内的参数(在美元引号之间)而不是在返回类型定义中。

问题是:通过将其名称作为参数传递而不是将其硬编码到函数中,是否有任何方法可以从表中SELECT?怎么样?

0 个答案:

没有答案
相关问题