【问题标题】:error in my postgresql syntax (%) sign我的 postgresql 语法错误 (%) 符号
【发布时间】:2018-12-24 18:20:18
【问题描述】:

嗨,我正在关注本教程http://workshops.boundlessgeo.com/tutorial-routing/,其中我现在在我需要为最短路径创建 sql 视图的部分。 但我已经进入 postgresql 几个月了。 但我似乎无法理解下面附加代码 sn-p 上百分比(%)标志的用途。 我四处寻找它,但我只看到关于这个 :: 的东西在谈论 % 符号。 无论如何,这里是sn-p。因为我似乎无法让它运行。

SELECT

  min(r.seq) AS seq,
  e.old_id AS id,
  e.name,
  e.type,
  e.oneway,
  sum(e.time) AS time,
  sum(e.distance) AS distance,
  ST_Collect(e.the_geom) AS geom
FROM
  pgr_dijkstra(
   'SELECT
    id,
    source::INT4,
    target::INT4,
    %cost% AS cost,
    CASE oneway
      WHEN ''yes'' THEN -1
      ELSE %cost%
    END AS reverse_cost
  FROM edges_noded', %source%, %target%, true) AS r,
  edges_noded AS e
WHERE
  r.id2 = e.id
GROUP BY
  e.old_id, e.name, e.type, e.oneway

它是一个 postgresql 代码。

【问题讨论】:

    标签: postgresql postgis geoserver


    【解决方案1】:

    这些是 GeoServer 在创建视图期间使用的占位符。它们将被您在所述应用程序中输入的任何内容替换。

    如果您不使用 GeoServer,那么也许可以尝试使用他之前的带有硬编码值的示例:

    %cost% -> time
    %source% -> 753
    %target% -> 756
    

    或以后:

    %cost% -> time
    %source% -> 100
    %target% -> 1000
    

    不相关,但在 FROM 子句中通过逗号分隔表然后在 WHERE 中列出条件进行 JOIN 已过时且不推荐。

    【讨论】:

    • 感谢先生的回答。非常感激。好像我不得不多读一点……真丢人。再次感谢先生。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    • 2010-10-22
    • 2023-03-24
    • 2010-12-26
    • 2018-04-05
    • 2017-06-16
    相关资源
    最近更新 更多