【发布时间】:2011-01-21 22:33:59
【问题描述】:
是否可以使用字符串来引用列/表名? SELECT * FROM 'my_table'::table_name_t 之类的东西?
我问的原因:我有一个表 geometry_columns 和一些几何表。而且我想知道哪些物体在某个半径范围内。
谢谢,菲利普
【问题讨论】:
标签: postgresql metaprogramming
是否可以使用字符串来引用列/表名? SELECT * FROM 'my_table'::table_name_t 之类的东西?
我问的原因:我有一个表 geometry_columns 和一些几何表。而且我想知道哪些物体在某个半径范围内。
谢谢,菲利普
【问题讨论】:
标签: postgresql metaprogramming
您将需要一个(存储的)函数来实现这一点。该函数将表名作为参数,动态创建 SQL,然后根据该查询返回 SELECT 的结果。
这里有一些示例(不完全是您需要的,但它们应该能让您朝着正确的方向前进):
http://forums.devshed.com/postgresql-help-21/plpgsql-variable-representing-table-name-137201.html
Dynamic column in SELECT statement postgres
【讨论】:
我认为你不能直接这样做。我认为您必须从另一个语句或一段代码构建 select 语句,然后执行生成的语句。
【讨论】: