我有一组包含一些数据的不同分区的4个表。我还有一个plpgsql函数,它将获取一个id并将包含该数据的表的名称作为“字符变化”返回。
但是,当我尝试使用此功能从正确的表中进行选择时,例如
SELECT f.a FROM getTable(someID) AS f;
它似乎不起作用。它不会在SELECT上引发错误,但它不会返回我期望的字段(即它表示f.a不存在)。
如何通过返回函数从表格中选择数据?
我正在使用PostgreSQL 9.1。这将在数百万条记录上运行,因此我不想将它作为两个单独的调用来执行。
答案 0 :(得分:2)
我认为对于本主题中描述的问题,您应该将inheritance与表格一起使用。
回答问题 - 使用 执行 :
execute "SELECT f.a FROM " || getTable(someID) || " AS f";