使用表名的函数

时间:2012-12-11 11:56:48

标签: sql database function postgresql

我有一组包含一些数据的不同分区的4个表。我还有一个plpgsql函数,它将获取一个id并将包含该数据的表的名称作为“字符变化”返回。

但是,当我尝试使用此功能从正确的表中进行选择时,例如

SELECT f.a FROM getTable(someID) AS f;

它似乎不起作用。它不会在SELECT上引发错误,但它不会返回我期望的字段(即它表示f.a不存在)。

如何通过返回函数从表格中选择数据?

我正在使用PostgreSQL 9.1。这将在数​​百万条记录上运行,因此我不想将它作为两个单独的调用来执行。

1 个答案:

答案 0 :(得分:2)

我认为对于本主题中描述的问题,您应该将inheritance与表格一起使用。

回答问题 - 使用 执行

execute "SELECT f.a FROM " || getTable(someID) || " AS f";