0

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

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

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

它似乎不起作用。它不会在 SELECT 上抛出错误,但它也不会返回我期望的字段(即它说 fa 不存在)。

如何从表名由函数返回给出的表中选择数据?

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

4

1 回答 1

2

我认为对于主题中描述的问题,您应该对表使用继承

回答问题 - 使用执行

execute "SELECT f.a FROM " || getTable(someID) || " AS f";
于 2012-12-11T12:18:21.287 回答