使用字符串引用列/表名称?

时间:2011-01-21 14:23:50

标签: postgresql metaprogramming

是否可以使用字符串引用列/表名?像SELECT * FROM 'my_table'::table_name_t

这样的东西

我问的原因是:我有一个带有几何表的表geometry_columns。我想知道哪些物体在一定范围内。

谢谢,菲利普

2 个答案:

答案 0 :(得分:6)

您需要一个(存储的)功能才能实现此目的。该函数将表名作为参数,动态创建SQL,然后根据该查询返回SELECT的结果。

这里有一些例子(不完全是你需要的,但它们应该让你朝着正确的方向前进):

http://forums.devshed.com/postgresql-help-21/plpgsql-variable-representing-table-name-137201.html
Dynamic column in SELECT statement postgres

答案 1 :(得分:0)

我认为你不能直接这样做。我认为你必须从另一个语句或一段代码构建select语句,然后执行结果语句。