【问题标题】:Refer to column/table names using strings?使用字符串引用列/表名?
【发布时间】:2011-01-21 22:33:59
【问题描述】:

是否可以使用字符串来引用列/表名? SELECT * FROM 'my_table'::table_name_t 之类的东西?

我问的原因:我有一个表 geometry_columns 和一些几何表。而且我想知道哪些物体在某个半径范围内。

谢谢,菲利普

【问题讨论】:

    标签: postgresql metaprogramming


    【解决方案1】:

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

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

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

    【讨论】:

    • 好的,谢谢。很高兴知道,虽然我想这对我的问题来说是多余的。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2022-06-22
      • 2018-11-05
      • 2014-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-10
      • 1970-01-01
      • 2014-12-21
      相关资源
      最近更新 更多