如何从函数参数中选择一个表

时间:2015-01-09 15:14:26

标签: postgresql postgresql-9.3

我有这个功能:

test(IN _partition)

在我的功能中,我想附加' _partition'到我的表名开头。

FROM table_ + '_partition'

最终结果:

select * from test(12345);

此函数将查询表:table_12345

1 个答案:

答案 0 :(得分:1)

您需要具有EXECUTEformat功能的PL / PgSQL动态SQL,例如

RETURN QUERY EXECUTE format('SELECT * FROM %I', _partition);

然而,这是一个设计的标志,可能会很痛苦。

你看过PostgreSQL的表继承功能吗?